コード例 #1
0
ファイル: Output2d.py プロジェクト: JPiao/Psychology-game
	def draw_inv_text(self):	#Box around the text here
		PERCENT_UP = 0.95	#How far up is the text?
		FONT = GLUT_BITMAP_9_BY_15
		LOADING_WIDTH = 40
		LOADING_HEIGHT = 10
		TEXT_LOADINGBAR_GAP = 10
		
		text_top = PERCENT_UP * SCREEN_SIZE[1] #Text starts from here
		
		GLComponents.glEnable2D()
		max_length = 0
		for item_num in range(len(self.inventory.inventory)):	#Longest sentence
			key = self.inventory.inventory.keys()[item_num]
			
			cap = ReadFile.read_caps()[item_num]
			if cap:
				message = "{0}: {1:.2f}%".format(key, self.inventory.inventory[key]/cap * 100.0)
			else:
				message = "{0}: {1:.2f}".format(key, self.inventory.inventory[key])
			
			width = self.str_width(message, FONT)
			
			if width > max_length:
				max_length = width
			GLComponents.write_str(message, 0, text_top - item_num * 15, FONT)
			if cap:	#Only capped values get loading bars
				GLComponents.loading_bar(max_length + TEXT_LOADINGBAR_GAP, text_top - 15 * item_num, 
					self.inventory.inventory[key]/cap * 100, LOADING_WIDTH, LOADING_HEIGHT)
		
		GLComponents.draw_rect(0, max_length + LOADING_WIDTH + TEXT_LOADINGBAR_GAP + 2, 
			text_top + 15, text_top - len(self.inventory.inventory) * 15)
		
		GLComponents.glDisable2D()
コード例 #2
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)