コード例 #1
0
ファイル: User.py プロジェクト: JPiao/Psychology-game
	def give_prize(self, inv_type, amount):	
		num = -1
		for x in range(len(ReadFile.get_inventory_types())):	#Get the inv num
			if ReadFile.get_inventory_types()[x] == inv_type:
				num = x
				break	
				
		cap = ReadFile.read_caps()[num]
		if cap == None:	#Unbounded cap
			self.inventory[inv_type] += amount
		else:	#Bounded cap
			difference = cap - self.inventory[inv_type]	#How much left can be added
			self.inventory[inv_type] += min(difference, amount)
コード例 #2
0
ファイル: User.py プロジェクト: JPiao/Psychology-game
	def __init__(self, maze):
		self.maze = maze
		self.inventory = {}
		inv_items = ReadFile.get_inventory_types()
		for i in range(len(inv_items)):
			inv_type = inv_items[i]
			self.inventory[inv_type] = ReadFile.get_init_inv_vals()[i]
コード例 #3
0
ファイル: Maze.py プロジェクト: JPiao/Psychology-game
	def generate_prize_order(self):
		possible_prizes = ReadFile.get_inventory_types()
		possible_prizes.append(None)
		ordered = []
		for x in range(3):
			random_number = randint(0, len(possible_prizes) - 1)
			ordered.append(possible_prizes[random_number])
			if possible_prizes[random_number] == None:
				possible_prizes.remove(None)	#Prevent more than 1 None
			
		return ordered
コード例 #4
0
ファイル: User.py プロジェクト: JPiao/Psychology-game
	def decrement(self):
		decrement_vals = ReadFile.read_decrement()	#Read in how much to decrement by
		inv_types = ReadFile.get_inventory_types()
		
		decrement_amounts = [0]*len(inv_types)
		
		for x in range(len(decrement_vals)):
			if (self.maze.total_step_count ) % decrement_vals[x][0] == 0:	#Should dec?
				self.inventory[inv_types[x]] -= decrement_vals[x][1]
				decrement_amounts[x] = decrement_vals[x][1]
		return decrement_amounts
コード例 #5
0
ファイル: User.py プロジェクト: JPiao/Psychology-game
	def is_dead(self):
		inv_types = ReadFile.get_inventory_types()
		mins = ReadFile.get_mins()	#Smallest possible amount
		
		
		
		dead_at = [False, False, False]	#At each inventory item, are you ok?
		
		for x in range(len(self.inventory)):
			if self.inventory[inv_types[x]] < mins[x]:
				dead_at[x] = True
				self.inventory[inv_types[x]] = mins[x]
		return dead_at
コード例 #6
0
ファイル: WriteFile.py プロジェクト: JPiao/Psychology-game
	def add_output_buffer_postlim(self):
		position = self.maze.position.last_pos
		
		if position != None:		#Choice
			if position.is_choice_room:
				self.out_list.append(str(self.maze.position.prize[0]))
			else:
				self.out_list.append("-1")
				
		inv_types = ReadFile.get_inventory_types()
		
		self.out_list.extend([str(self.inventory.inventory[inv_types[x]]) for x in range(3)])
		
		if self.maze.position.prize[2]:	#If just got a prize
			self.out_list.extend([str(self.maze.position.prize[0]), str(self.maze.position.prize[1])])
		else:
			self.out_list.extend(['None', 'None'])
コード例 #7
0
ファイル: WriteFile.py プロジェクト: JPiao/Psychology-game
    def add_output_buffer_postlim(self, direction, current_inventory, decrement_amounts):

        position = self.maze.position.last_pos

        # 		if position != None:		#Choice
        # 			if position.is_choice_room:
        # 				self.out_list.append(str(self.maze.position.prize[0]))
        # 			else:
        # 				self.out_list.append("-1")

        global chosen_direction, chasing_infos, str_infos
        chosen_direction = direction  # for updating centre/chasing infos later

        self.out_list.append(direction)  # Direction chosen

        # to update chasing info for next turn (ie what you just selected) and output the infos of the current chosen direction to file
        if direction == "left":
            chasing_infos = self.prize_info_to_string(position.prize_infos[0])
            self.out_list.extend(str_infos[0:4])
        elif direction == "right":
            chasing_infos = self.prize_info_to_string(position.prize_infos[2])
            self.out_list.extend(str_infos[4:8])
        elif direction == "centre" and self.maze.position.prize.count(None) != len(
            self.maze.position.prize
        ):  # if centre, don't update, unless prize given, then update to nones
            chasing_infos = ["None", "None", "None", "None"]
            self.out_list.extend(str_infos[0:4])

        inv_types = ReadFile.get_inventory_types()
        # for prize and decrease
        for x in inv_types:
            if x == self.maze.position.prize[0]:
                self.out_list.append(str(self.maze.position.prize[1]))
            else:
                self.out_list.append("0")
        self.out_list.extend([str(x) for x in decrement_amounts])

        self.out_list.extend([str(current_inventory[inv_types[x]]) for x in range(len(inv_types))])  # Inventory
コード例 #8
0
ファイル: WriteFile.py プロジェクト: JPiao/Psychology-game
	def add_output_buffer_postlim(self, direction, current_inventory, decrement_amounts):
		position = self.maze.position.last_pos
		
		if position != None:		#Choice
			if position.is_choice_room:
				self.out_list.append(str(self.maze.position.prize[0]))
			else:
				self.out_list.append("-1")
		
		self.out_list.append(direction)	#Direction chosen
				
		inv_types = ReadFile.get_inventory_types()
		
		self.out_list.extend([str(current_inventory[inv_types[x]]) for x in range(3)])	#Inventory
		

		for x in inv_types:
			if x == self.maze.position.prize[0]:
				self.out_list.append(str(self.maze.position.prize[1]))
			else:
				self.out_list.append('0')
				
		self.out_list.extend([str(x) for x in decrement_amounts])
コード例 #9
0
ファイル: User.py プロジェクト: JPiao/Psychology-game
	def __init__(self):
		self.inventory = {}
		for inv_type in ReadFile.get_inventory_types():
			self.inventory[inv_type] = 0