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


Python Map.setID方法代码示例

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


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

示例1: __init__

# 需要导入模块: from Map import Map [as 别名]
# 或者: from Map.Map import setID [as 别名]
class Game:
	"""Classe que representa o jogo"""
	def __init__(self):
		self.pilha = [] #pilha usada para o desfazer
		self.win = False #True caso tenha finalizado o mapa
		self.fase = 0 #id do mapa que está em jogo
		self.screen = None #Tela principal do jogo
		self.map = None #Map em jogo
		self.person = None #Personagem
			
	def init(self):
		"""Método para iniciar o jogo completo"""
		#inicia a janela 'invisível'
		self.screen = pygame.display.set_mode((1,1),NOFRAME,32)
		
		
		#cria uma instancia para o mapa
		self.map = Map(self.screen)
		pygame.display.set_icon(self.map._getGraf('!'))
		#cria personagem 
		self.person = Character(self.map,self.screen)

		#incia mapa self.fase
		self.mapInit()
		
		#Comeca o jogo
		self.screen = self.update()
		
		
		#laço principal do jogo
		while True:		
			for event in pygame.event.get():
				if event.type == QUIT:
					self.exit()
				if event.type == KEYDOWN:
					
					#movimentos do personagem
					if event.key == K_UP: #cima
						self.win,s = self.person.up()
						self.pushPilha(s)
					elif event.key == K_DOWN: #baixo
						self.win,s = self.person.down()
						self.pushPilha(s)
					elif event.key == K_LEFT: #esquerda
						self.win,s = self.person.left()
						self.pushPilha(s)
					elif event.key == K_RIGHT: #direita
						self.win,s = self.person.right()
						self.pushPilha(s)
						
					elif event.key == K_w: #ganha
						self.win = True
					elif event.key == K_r: #reincia o mapa
						self.mapInit()
						self.screen = self.update()
						
					elif event.key == K_z and pygame.key.get_mods() & KMOD_CTRL: #ctrl + z
						self.desfazer()
						self.screen = self.update()
				
			pygame.display.flip()
			if self.win:
				self.fase = (self.fase+1) % 16
				self.mapInit()
				self.screen = self.update()
	#end init
	
	
	def pushPilha(self,s):
		"""Método adiciona o último estado do jogo a pilha do desfazer. Adiciona no máximo 5 estados.
			obj.pushPilha(estado)
			estado ->  (['mapa'],(x,y))
		"""
		if len(self.pilha) > 5:
			del self.pilha[0]
		self.pilha.append(s)
		
	def popPilha(self):
		"""Método pop do desfazer"""
		if len(self.pilha) > 0:
			return self.pilha.pop()
		return None
		
	def desfazer(self):
		"""Recupera os estados salvos na pilha para desfazer o jogo"""
		ns = self.popPilha()
		if ns:
			self.map._str = ns[0]
			self.map._pos = ns[1]
			self.map.draw()
			
		
	def mapInit(self):
		"""Inicia um mapa"""
		#Marca estado com não vitorioso
		self.win = False
		#zera a pilha do desfazer
		self.pilha = []
		#define o mapa de inicio
		self.map.setID(self.fase)
#.........这里部分代码省略.........
开发者ID:clebertavares,项目名称:boxworld,代码行数:103,代码来源:Game.py


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