コード例 #1
0
	def __init__(self, room_type = None, colours = None, is_choice_room = False, 
		possible_prize = None, prize = None, depth = 0, options = None,
		last_pos = None):
		self.adjacent = {}
		self.room_type = room_type
		self.is_choice_room = is_choice_room
		if prize == None:
			self.prize = [None, 0, False]
		else:
			self.prize = prize
			
		
		self.depth = depth
		self.options = options
		
		if colours == None:
			self.colours = self.generate_colours(self.room_type)
		else:
			self.colours = colours
		
		self.last_pos = last_pos
		self.prize_infos = [ReadFile.get_option() for x in range(3)] 	#This contains three instances of ReadFile.get_option(). 
		self.prize_infos[1] = None #overwrite middle one so now cue in centre
		#This is just a detailed version of prize_order. In fact, prize order only exists
		#since it was made before prize_info was needed, and it is now hard to remove.

		self.prize_order = [None, None, None]
コード例 #2
0
ファイル: Maze.py プロジェクト: JPiao/Psychology-game
	def step(self, direction, hall_type = Hallways.TRIFURC):
		if direction not in self.position.adjacent:	#Not visited
			new_pos = MazeComponent(hall_type)
			new_pos.last_pos = self.position
			
			if self.position.is_choice_room:	#In a choice room
				new_pos.is_choice_room = False
				self.assign_possible_prize(new_pos, direction)
				new_pos.depth = 1
				new_pos.options = ReadFile.get_option(new_pos.prize[0])
				self.set_has_prize(new_pos)	#Winner?
			
			else:	#In a `straight' choiceless room
				if direction in [Directions.LEFT, Directions.RIGHT]:	#the user turns
					new_pos.is_choice_room = True
					
					#Determine order o' prizes
					new_pos.set_prize_order(self.generate_prize_order())
					
				elif direction == Directions.FORWARDS:	#User proceeds forward
					#default of is_choice_room is false
					new_pos.prize[0] = self.position.prize[0]
					new_pos.depth = self.position.depth + 1
					new_pos.options = self.position.options
										
					self.set_has_prize(new_pos)	#Winner?
			
			self.position.adjacent[direction] = new_pos	
			
			#Allow yourself to go backwards
			if direction == Directions.FORWARDS:
				new_pos.adjacent[Directions.BACKWARDS] = self.position
			elif direction == Directions.BACKWARDS:
				new_pos.adjacent[Directions.FORWARDS] = self.position
			elif direction == Directions.LEFT:
				new_pos.adjacent[Directions.BACKWARDS] = self.position
			elif direction == Directions.RIGHT:
				new_pos.adjacent[Directions.BACKWARDS] = self.position
				
			self.position = new_pos
		elif self.position.adjacent[direction] != None:
			self.position.adjacent[direction].last_pos = self.position
			self.position = self.position.adjacent[direction]
			self.position.prize = [self.position.prize[0], 0, False]