Exemplo n.º 1
0
	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()
Exemplo n.º 2
0
	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
		text_top = PERCENT_UP * self.camera.display[1] #Text starts from here
		
		GLComponents.glEnable2D()
		max_length = 0
		for item_num in range(len(self.inventory.inventory)):
			key = self.inventory.inventory.keys()[item_num]
			message = key + ': ' + str(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)
		
		GLComponents.draw_rect(0, max_length, text_top + 15, text_top - len(self.inventory.inventory) * 15)
		
		GLComponents.glDisable2D()
Exemplo n.º 3
0
	def winning_message(self):
		glDisable(GL_DEPTH_TEST)
		FONT = GLUT_BITMAP_HELVETICA_18
		WAIT = 2000 #How long is the message showing? In ms.
		
		message = 'You just got ' + str(self.maze.position.prize[1]) + ' ' + self.maze.position.prize[0] + '!'
		width = self.str_width(message, FONT)	#For centering
		
		GLComponents.glEnable2D()
		
		glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
		
		#Centered text
		GLComponents.write_str(message, self.camera.display[0]/2 - width/2, self.camera.display[1]/2, FONT)
		
		#GLComponents.draw_rect(0, self.camera.display[0], 0, self.camera.display[1])
		GLComponents.glDisable2D()
		
		pygame.display.flip()
		pygame.time.wait(WAIT)
		
		glEnable(GL_DEPTH_TEST)
Exemplo n.º 4
0
	def draw_centred(self, message, side_padding = 1, up_padding = 1):
		GLComponents.glEnable2D()
		if up_padding == 1 and side_padding == 1:	#Might as well clear all
			glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
			glDisable(GL_DEPTH_TEST)
		FONT = GLUT_BITMAP_HELVETICA_18
		
		width = self.str_width(message, FONT)	#For centering

		#Centered text
		GLComponents.write_str(message, SCREEN_SIZE[0]/2 - width/2, SCREEN_SIZE[1]/2, FONT)
		
		if up_padding != 1 or side_padding != 1:
			GLComponents.draw_rect(SCREEN_SIZE[0]/2 * (1 - side_padding), SCREEN_SIZE[0]/2 * (1 + side_padding), 
				SCREEN_SIZE[1]/2 * (1 - up_padding), SCREEN_SIZE[1]/2 * (1 + up_padding))
		
		self.draw_inv_text()

		GLComponents.glDisable2D()
		
		pygame.display.flip()
		
		glEnable(GL_DEPTH_TEST)