当前位置: 首页>>代码示例>>Python>>正文


Python Map.isInBlock方法代码示例

本文整理汇总了Python中Map.isInBlock方法的典型用法代码示例。如果您正苦于以下问题:Python Map.isInBlock方法的具体用法?Python Map.isInBlock怎么用?Python Map.isInBlock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Map的用法示例。


在下文中一共展示了Map.isInBlock方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Editor

# 需要导入模块: import Map [as 别名]
# 或者: from Map import isInBlock [as 别名]
class Editor():
	pygame.mixer.pre_init(44100, -16, 2, 1024)
	pygame.mixer.init()

	def __init__(self, levelPreset = "empty"):
		self.screen = pygame.display.get_surface()

		self.backgroundImage, self.backgroundRect = loadPNG("background.png")

		self.blockList = [Object(type = "earth"), Object(type = "boing"), Object(type = "ice")]

		self.currentBlockNumber = 0
		self.currentBlock = self.blockList[self.currentBlockNumber]
		self.currentSpriteBlock = pygame.sprite.RenderPlain(self.currentBlock)

		self.buttonSound = pygame.mixer.Sound("resources/sound/button.wav")
		self.buttonSound.set_volume(float(Resources.getOptionValue("sound"))/100)

		self.grid = False

		self.level = Map(True)

		self.active = True

		self.pauseMenu = PauseEditorMenu()

		self.toolbar = EditorToolbar()

		if levelPreset != "empty":
			self.level.load(levelPreset)
		
		pygame.display.flip()

	def update(self):
		key = pygame.key.get_pressed()
		mouse = pygame.mouse.get_pressed()

		if self.active:
			pygame.mouse.set_cursor(*pygame.cursors.arrow)
			
			for event in pygame.event.get():
				mse = pygame.mouse.get_pos()
				self.currentBlock.rect.topleft = ((int(mse[0]) / 50)*50, (int(mse[1]) / 50)*50)

				if event.type == QUIT or (key[K_F4] and key[K_LALT]):
					return False, self

				elif key[K_LCTRL] and key[K_s]:
					return True, SaveLevelMenu(self.level)

				elif key[K_LCTRL] and key[K_l]:
					return True, LoadLevelMenu()

				elif event.type == MOUSEBUTTONDOWN:
					if event.button == 5:
						self.currentBlockNumber = (self.currentBlockNumber - 1) % len(self.blockList)
					if event.button == 4:
						self.currentBlockNumber = (self.currentBlockNumber + 1) % len(self.blockList)
					if event.button == 3:
						self.level.removeObjectFromPos(mse)
					if event.button == 1:
						if not any(obj.rect.collidepoint(mse) for obj in self.level.objectList):
							if self.currentBlock.getType() == "boing":
								if self.level.getObjectFromPos((mse[0], mse[1] + 50)).getType() != "boing":
									if not self.level.isInBlock(mse[0], mse[1] - 50):
										self.level.addObject(self.currentBlock.rect.x, self.currentBlock.rect.y, self.currentBlock.getType())
							else:
								if self.level.getObjectFromPos((mse[0], mse[1] + 50)).getType() != "boing":
									self.level.addObject(self.currentBlock.rect.x, self.currentBlock.rect.y, self.currentBlock.getType())

					self.currentBlock = self.blockList[self.currentBlockNumber]
					self.currentSpriteBlock = pygame.sprite.RenderPlain(self.currentBlock)
					self.currentBlock.rect.topleft = ((int(mse[0]) / 50)*50, (int(mse[1]) / 50)*50)

				elif event.type == MOUSEMOTION:
					if mouse[0]:
						if not any(obj.rect.collidepoint(mse) for obj in self.level.objectList):
							if self.currentBlock.getType() == "boing":
								if self.level.getObjectFromPos((mse[0], mse[1] + 50)).getType() != "boing":
									if not self.level.isInBlock(mse[0], mse[1] - 50):
										self.level.addObject(self.currentBlock.rect.x, self.currentBlock.rect.y, self.currentBlock.getType())
							else:
								if self.level.getObjectFromPos((mse[0], mse[1] + 50)).getType() != "boing":
									self.level.addObject(self.currentBlock.rect.x, self.currentBlock.rect.y, self.currentBlock.getType())

					elif mouse[2]:
						self.level.removeObjectFromPos(mse)

				elif event.type == KEYDOWN:
					if event.key == K_g:
						if self.grid:
							self.grid = False
						else:
							self.grid = True

					elif event.key == K_ESCAPE:
						self.active = False
						self.level.save("last")

			self.screen.blit(self.backgroundImage, self.backgroundRect, self.backgroundRect)
#.........这里部分代码省略.........
开发者ID:Barbatos,项目名称:BumpNJump,代码行数:103,代码来源:Editor.py

示例2: Game

# 需要导入模块: import Map [as 别名]
# 或者: from Map import isInBlock [as 别名]
class Game():
	pygame.mixer.pre_init(44100, -16, 2, 1024)
	pygame.mixer.init()

	def __init__(self, color1, color2, levelPreset = "empty"):
		self.butterflies = []

		self.screen = pygame.display.get_surface()

		self.backgroundImage, self.backgroundRect = loadPNG("background.png")

		self.buttonSound = pygame.mixer.Sound("resources/sound/button.wav")
		self.buttonSound.set_volume(float(Resources.getOptionValue("sound"))/100)

		self.active = True

		if levelPreset == "empty":
			self.level = Map()
		else:
			self.level = Map(True)

		self.toolbar = GameToolbar()

		self.regis = Rabbit(1, "regis", color1, self.level.objectList, self.level.objectSpritesList)

		self.john = Rabbit(2, "john", color2, self.level.objectList, self.level.objectSpritesList)

		self.john.appendRabbit(self.regis)
		self.regis.appendRabbit(self.john)

		self.pauseMenu = PauseGameMenu()

		self.deltaCarrot = 0
		self.timeCarrot = random.randint(1, 4)

		for l in range(0, 6):
			while True:
				randPos = random.randint(0, 16)
				if not self.level.isInBlock(self.level.objectList[randPos].getX() + 10, self.level.objectList[randPos].getY() - 26):
					break

			butterfly = Butterfly(self.level.objectList[randPos].getX() + 10, self.level.objectList[randPos].getY() - 26, (255, 10, 100), self.level.objectList, self.level.objectSpritesList)
			self.butterflies.append(butterfly)

		pygame.display.flip()

	def update(self):
		key = pygame.key.get_pressed()

		if self.active:
			pygame.mouse.set_visible(0)

			for event in pygame.event.get():
				if event.type == QUIT or (key[K_F4] and key[K_LALT]):
					return False, self

				elif event.type == MOUSEMOTION and (key[K_LSHIFT] or key[K_LCTRL]):
					mse = pygame.mouse.get_pos()
					if not any(obj.rect.collidepoint(mse) for obj in self.level.objectList):
						x = (int(mse[0]) / 50)*50
						y = (int(mse[1]) / 50)*50
						if key[K_LSHIFT]:
							self.level.addObject(x, y, "earth")
						else:
							self.level.addObject(x, y, "boing")

				elif event.type == MOUSEMOTION and key[K_LALT]:
					mse = pygame.mouse.get_pos()
					self.level.removeObjectFromPos(mse)

				elif event.type == KEYDOWN:
					#KEYS FOR JOHN
					if event.key == K_UP:
						self.john.jump()
					if event.key == K_LEFT:
						self.john.moveLeftStart()
					if event.key == K_RIGHT:
						self.john.moveRightStart()
					if event.key == K_KP0:
						self.john.throwCarrot()

					#KEYS FOR REGIS
					if event.key == K_w:
						self.regis.jump()
					if event.key == K_a:
						self.regis.moveLeftStart()
					if event.key == K_d:
						self.regis.moveRightStart()
					if event.key == K_e:
						self.regis.throwCarrot()

					if event.key == K_c:
						self.level.addCarrot()

					if event.key == K_ESCAPE:
						self.active = False
						self.john.moveLeftStop()
						self.john.moveRightStop()
						self.regis.moveLeftStop()
						self.regis.moveRightStop()
#.........这里部分代码省略.........
开发者ID:Barbatos,项目名称:BumpNJump,代码行数:103,代码来源:Game.py


注:本文中的Map.isInBlock方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。