Esempio n. 1
0
def ler(tela,lang):
    btn_salvar = Button(0)
    btn_cancelar = Button(0)
    ct =0
    capslock =0
    b = ""
    aux = ''
    cursor_picture = pygame.image.load('Graphics/Mouse/Batuta.png').convert_alpha()
    fonte = pygame.font.Font("Data/Carolingia.ttf", 25)
    flag =0
    bkg = pygame.image.load("Graphics/Screens/Create.jpg")
    tela.blit(bkg,(0,0))
    tela.blit(fonte.render(("Create Profile:  "), False, (226, 157, 54) ),(0,0))
    pygame.display.flip()
    while (flag == 0):
        tela.blit(bkg,(0,0))
        tela.blit(fonte.render(("Create Profile:  "), False, (226, 157, 54) ),(0,0))
        for evento in pygame.event.get():
            if evento.type == pygame.MOUSEBUTTONUP:
                if Bleft == True:
                    px , py = pygame.mouse.get_pos()
                    #botao salvar
                    if ((px>= 70)and (px<=270)) and ((py>= 510)and (py<=560)):
                        flag = 1
                        return (b)
                    #botao cancelar
                    if ((px>= 530)and (px<=730)) and ((py>= 510)and (py<=560)):
                        flag = 1
                        b = '#'
                        btn_cancelar.click()
                    Bleft == False
            if evento.type == pygame.MOUSEBUTTONDOWN:
                Bleft,Bmiddle, Bright =  pygame.mouse.get_pressed()
            if evento.type == pygame.QUIT:
                sys.exit()
            if evento.type == pygame.KEYDOWN:
                if evento.key == pygame.K_ESCAPE:
                    flag = 1
                    b = '#'
                if evento.key == pygame.K_RETURN:
                    if (len(b) > 0):
                        flag = 1
                        return (b)
                # pega letras minusculas
                if (evento.key>= 97 and evento.key<=122):
                    aux =chr(evento.key)
                    ct = 1
                # pega letras maiusculas
                if (evento.key>= 65 and evento.key<=90):
                    aux =chr(evento.key)
                    ct = 1
                if evento.key == pygame.K_BACKSPACE:
                    if (len(b) > 0):
                        b = b[:-1]
            if (ct > 0):
                ct =0
                if (len(b) < 15):
                    if (capslock == 1):
                        b = b +aux.upper()
                    else:
                        b = b +aux
            #DESENHA O MOUSE
            tela.blit(cursor_picture, pygame.mouse.get_pos())
            tela.blit(fonte.render(b, False, (226, 157, 54) ),(265,300))
            #Desenha botoes
            tela.blit(btn_salvar.desenha(),(70,510))
            tela.blit(btn_cancelar.desenha(),(530,510))
            tela.blit(fonte.render(lang.Get(16), False, (226, 157, 54) ),(70,520))
            tela.blit(fonte.render(lang.Get(17), False, (226, 157, 54) ),(576,520))
            pygame.display.flip()
            if btn_salvar.getState() or btn_cancelar.getState():
                time.sleep(0.2)
    return (b)
Esempio n. 2
0
	def Menu_H(self):
		Msc = Musics()
		btn_general = Button(0)
		btn_voltar = Button(0)
		btn_red_e = Button(1)
		btn_red_d = Button(1)
		btn_list_text = []
		btn_list_text.append(self.Old_English_25.render(self.lang.Get(1), False, (226, 157, 54) ))
		btn_list_text.append(self.Old_English_25.render("<", False, (226, 157, 54) ))
		btn_list_text.append(self.Old_English_25.render(">", False, (226, 157, 54) ))
		bkg = pygame.image.load("Graphics/Screens/High_score.jpg")
		selected = pygame.image.load("Graphics/Boxes/Selected.jpg")
		unselected = pygame.image.load("Graphics/Boxes/Unselected.jpg")
		qtd = 0
		qtd_opus = 0
		pag_atual = 0
		lado = 0
		msc_atual = 0
		aux = 0
		limit = 0
		
		list,qtd = Msc.GetList()
		esq = []
		dir = []
		tam = qtd[pag_atual]
		qtd_opus = len(qtd)
		voltar = False
		score_aux =score_number = 0
		#LACO DO MENU 1
		while (voltar == False):
			esq = []
			dir = []
			#CALCULA QUAIS PAGINAS MOSTRAR
			if pag_atual < qtd_opus:
				if pag_atual == 0:
					score_number= i = 0
					limit =qtd[pag_atual]
				else:
					score_number =i = qtd[pag_atual-1]
				while i < qtd[pag_atual]:
					esq.append(self.Carolingia_20.render(arruma_texto(list[i]), False, (226, 157, 54) ))
					i+=1
			if pag_atual +1 < qtd_opus:
				i = qtd[pag_atual]
				while i <qtd[pag_atual+1]:
					dir.append(self.Carolingia_20.render(arruma_texto(list[i]), False, (226, 157, 54) ))
					i+=1
			sair = mudar = False
			score_aux = score_number
			#LACO DO MENU 2
			while (sair == False):
				score_number = score_aux
				#PEGA EVENTOS
				for evento in pygame.event.get():
					#EVENTOS DO MOUSE
					if evento.type == pygame.MOUSEBUTTONUP:
						if Bleft == True:
							px , py = pygame.mouse.get_pos()
							if ((px>= 280)and (px<=348)) and ((py>= 500)and (py<=568)):
								msc_atual = 0
								if lado == 0:
									pag_atual -=2
									if pag_atual <0:
										pag_atual = qtd_opus-2
										lado = 1
									sair = mudar = True
								else:
									lado = 0
									tam = len(dir)
							if ((px>= 450)and (px<=518)) and ((py>= 500)and (py<=568)):
								msc_atual = 0
								if lado == 1:
									pag_atual +=2
									if pag_atual > qtd_opus-2:
										pag_atual = 0
										lado = 0
									sair = mudar = True
								else:
									lado = 1
									tam = len(esq)
							if ((px>= 530)and (px<=730)) and ((py>= 510)and (py<=560)):
								btn_voltar.click()
								mudar =voltar = sair = True
								#return False
							if (len(esq) > len(dir)):
								num = len(esq)
							else:
								num = len(dir)
							aux = Const_default_y+(((-1)*(num/2))*30)
							num2 =0
							for i in range(len(esq)):						
								if ((px>= 65)and (px<=397)) and ((py>= aux+30*num2) and (py<=aux+30*(num2)+25)):
									if (lado == 0)  and (msc_atual == num2):
										sair = True
									else:
										msc_atual = num2
										lado = 0
								num2 += 1
							num2 = 0
							for i in range(len(dir)):
								if ((px>= 415)and (px<=747)) and ((py>= aux+30*num2) and (py<=aux+30*(num2)+25)):
									if (lado == 1)  and (msc_atual == num2):
										sair = True
									else:
										msc_atual = num2
										lado = 1
								num2 += 1
							Bleft == False
					if evento.type == pygame.MOUSEBUTTONDOWN:
						Bleft,Bmiddle, Bright =  pygame.mouse.get_pressed()
					if evento.type == pygame.QUIT:
						sys.exit(0)
					#EVENTOS DO TECLADO
					if evento.type == pygame.KEYDOWN:
						if evento.key == pygame.K_RETURN:
							sair = True
						if evento.key == pygame.K_ESCAPE:
							return False
							msc_atual = -1
						if evento.key == pygame.K_LEFT:
							msc_atual = 0
							if lado == 0:
								pag_atual -=2
								if pag_atual <0:
									pag_atual = qtd_opus-2
								lado = 1
								sair = mudar = True
							else:
								lado = 0
								tam = len(esq)
								
						if evento.key == pygame.K_RIGHT:
							msc_atual = 0
							if lado == 1:
								pag_atual +=2
								if pag_atual > qtd_opus-2:
									pag_atual = 0
								lado = 0
								sair = mudar = True
							else:
								lado = 1
								tam = len(dir)
						if evento.key == pygame.K_DOWN:
							msc_atual += 1
							if msc_atual > tam-1:
								msc_atual = 0
						if evento.key == pygame.K_UP:
							msc_atual -= 1
							if msc_atual < 0:
								msc_atual = tam-1
				
				#Desenha Fundo
				self.tela.blit(bkg,(0,0))
				#Escreve Numero das paginas esquerda e direita
				self.tela.blit(self.Carolingia_20.render((repr(pag_atual+1)), False, (226, 157, 54) ),(230,128))
				self.tela.blit(self.Carolingia_20.render((repr(pag_atual+2)), False, (226, 157, 54) ),(590,128))
				self.tela.blit(self.Carolingia_25.render(self.lang.Get(1), False, (226, 157, 54) ),(576,520))
				#self.tela.blit(self.Carolingia_25.render(("High Score:  "+repr(msc_atual)), False, (226, 157, 54) ),(0,0))
				#Desenha botoes
				self.tela.blit(btn_general.desenha(),(70,510))
				self.tela.blit(btn_red_e.desenha(),(280,500))
				self.tela.blit(btn_red_d.desenha(),(450,500))
				self.tela.blit(btn_voltar.desenha(),(530,510))
				#escreve texto dos botoes
				#self.tela.blit(btn_list_text[0],(90,520))
				self.tela.blit(btn_list_text[1],(310,520))
				self.tela.blit(btn_list_text[2],(480,520))
				self.tela.blit(btn_list_text[0],(600,520))
				#ESCREVE ITENS DA PAGINA ESQUERDA
				if (len(esq) > len(dir)):
					num = len(esq)
				else:
					num = len(dir)
				num2 = (-1)*(num/2)
				for i in range(len(esq)):
					aux = Const_default_y+(num2*30)
					num2 += 1
					if (lado == 0):
						if (i == msc_atual):
							self.tela.blit(selected,(60,aux-2))
						else:
							self.tela.blit(unselected,(60,aux-2))
					else:
						self.tela.blit(unselected,(60,aux-2))
					self.tela.blit(esq[i],(65,aux))
					self.tela.blit(self.Carolingia_20.render((repr((self.High_S.Get()[score_number])[1])), False, (226, 157, 54) ),(330,aux-2))
					score_number+=1
				#ESCREVE ITENS DA PAGINA DIREITA
				num2 = (-1)*(num/2)
				for i in range(len(dir)):
					aux = Const_default_y+(num2*30)
					num2 += 1
					if (lado == 1):
						if (i == msc_atual):
							self.tela.blit(selected,(410,aux-2))
						else:
							self.tela.blit(unselected,(410,aux-2))
					else:
						self.tela.blit(unselected,(410,aux-2))
					self.tela.blit(dir[i],(415,aux))
					self.tela.blit(self.Carolingia_20.render((repr((self.High_S.Get()[score_number])[1])), False, (226, 157, 54) ),(700,aux))
					score_number+=1
				#DESENHA O MOUSE
				self.tela.blit(self.cursor_picture, pygame.mouse.get_pos())
				#ATUALIZA A TELA
				pygame.display.flip()
				if btn_voltar.getState():
					time.sleep(0.2)
			esq = []
			dir = []
Esempio n. 3
0
	def Option(self):
		btn_salvar = Button(0)
		btn_cancelar = Button(0)
		sair = False
		#variaveis de config
		Nivel = [self.lang.Get(10),self.lang.Get(11),self.lang.Get(12),self.lang.Get(13)]
		nivel =[1,2,5,10]
		language = self.languages.GetNameList()
		lang_id = 0
		lvl = 0
		full = self.config.Get_full()
		audio = self.config.Get_audio()
		for i in nivel:
			if (i == self.config.Get_lvl()):
				break
			lvl +=1
		y=0;
		bkg = pygame.image.load("Graphics/Screens/Option.jpg")
		bar = pygame.image.load("Graphics/Boxes/Bar.jpg")
		#LACO DO MENU
		while (sair == False):
			#PREPARA PARA Desenha
			if full == 1:
				checkbox= pygame.image.load("Graphics/Boxes/Checked.jpg")
			else:
				checkbox= pygame.image.load("Graphics/Boxes/Unchecked.jpg")
			#PEGA EVENTOS
			for evento in pygame.event.get():
				#EVENTOS DO MOUSE
				if evento.type == pygame.MOUSEBUTTONUP:
					if Bleft == True:
						px , py = pygame.mouse.get_pos()
						#botao de salvar
						if ((px>= 50)and (px<=250)) and ((py>= 510)and (py<=560)):
							btn_salvar.click()
							self.config.Set(nivel[lvl], audio, full,language[lang_id])
							self.profile.Set_Conf(self.config)
							self.config = self.profile.Return_Config()
							#carregando linguagem
							self.languages = Language(self.config.Get_lang())
							self.lang = Lang (self.languages.GetOne())
							self.profile.save()
							sair = True
						#botao de cancelar
						if ((px>= 550)and (px<=750)) and ((py>= 510)and (py<=560)):
							btn_cancelar.click()
							sair = True
						Bleft == False
				if evento.type == pygame.MOUSEBUTTONDOWN:
					Bleft,Bmiddle, Bright =  pygame.mouse.get_pressed()
				#EVENTOS DO TECLADO
				if evento.type == pygame.QUIT:
					sys.exit()
				if evento.type == pygame.KEYDOWN:
					if evento.key == pygame.K_RETURN:
						#salva as configuracoes
						self.config.Set(nivel[lvl], audio, full,language[lang_id])
						self.profile.Set_Conf(self.config)
						self.config = self.profile.Return_Config()
						#carregando linguagem
						self.languages = Language(self.config.Get_lang())
						self.lang = Lang (self.languages.GetOne())
						#print (self.languages.GetOne())
						self.profile.save()
						sair = True
					if evento.key == pygame.K_ESCAPE:
						sair = True
					if evento.key == pygame.K_LEFT:
						if (y == 0):
							lvl -=1
							if lvl <0:
								lvl = 3
						elif (y== 1):
							if audio >0.0:
								audio -=0.1
							if audio <0.0:
								audio = 0.0
						elif (y==2):
							if (full == 1):
								full = 0
							else:
								full = 1
						else:
							lang_id -=1
							if lang_id <0:
								lang_id = len(language)-1
					if evento.key == pygame.K_RIGHT:
						if (y == 0):
							lvl +=1
							if lvl >3:
								lvl = 0
						elif (y== 1):
							if audio <1.0:
								audio +=0.1
							if audio >1.0:
								audio = 1.0
						elif (y==2):
							if (full == 1):
								full = 0
							else:
								full = 1
						else:
							lang_id +=1
							if lang_id >len(language)-1:
								lang_id = 0
					if evento.key == pygame.K_DOWN:
						y += 1
						if y > 3:
							y = 0
					if evento.key == pygame.K_UP:
						y -= 1
						if y < 0:
							y = 3
			#DESENHA FUNDO
			self.tela.blit(bkg,(0,0))
			#self.tela.blit(self.Carolingia_25.render(("Options:  "+repr(y)), False, (226, 157, 54) ),(0,0))
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(16), False, (226, 157, 54) ),(90,610))
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(17), False, (226, 157, 54) ),(596,610))
			#opcoes
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(22), False, (226, 157, 54) ),(120,236))
			self.tela.blit(self.Carolingia_25.render((Nivel[lvl]), False, (226, 157, 54) ),(315,236))
			
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(23), False, (226, 157, 54) ),(120,306))
			self.tela.blit(pygame.transform.scale(bar ,(int (180*audio), 36)),(308,306))
			
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(24), False, (226, 157, 54) ),(120,376))
			self.tela.blit(checkbox,(308,376))
			
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(25), False, (226, 157, 54) ),(120,446))
			self.tela.blit(self.Carolingia_25.render((language[lang_id]), False, (226, 157, 54) ),(315,446))
			#Desenha botoes
			self.tela.blit(btn_salvar.desenha(),(50,510))
			self.tela.blit(btn_cancelar.desenha(),(550,510))
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(16), False, (226, 157, 54) ),(70,520))
			self.tela.blit(self.Carolingia_25.render(self.lang.Get(17), False, (226, 157, 54) ),(576,520))
			#desenha seta de selecionado
			self.tela.blit(pygame.transform.rotate(self.cursor_picture,-125), (55,227+70*y))
			#DESENHA O MOUSE
			self.tela.blit(self.cursor_picture, pygame.mouse.get_pos())
			#ATUALIZA A TELA
			pygame.display.flip()
			if btn_salvar.getState() or btn_cancelar.getState():
					time.sleep(0.2)
Esempio n. 4
0
	def Menu_Q(self):
		Msc = Musics()
		btn_jogar = Button(0)
		btn_voltar = Button(0)
		btn_red_e = Button(1)
		btn_red_d = Button(1)
		btn_list_text = []
		btn_list_text.append(self.Old_English_25.render(self.lang.Get(19), False, (226, 157, 54) ))
		btn_list_text.append(self.Old_English_25.render(self.lang.Get(1), False, (226, 157, 54) ))
		btn_list_text.append(self.Old_English_25.render("<", False, (226, 157, 54) ))
		btn_list_text.append(self.Old_English_25.render(">", False, (226, 157, 54) ))
		bkg = pygame.image.load("Graphics/Screens/Quick_play.jpg")
		selected = pygame.image.load("Graphics/Boxes/Selected.jpg")
		unselected = pygame.image.load("Graphics/Boxes/Unselected.jpg")
		qtd = 0
		qtd_opus = 0
		pag_atual = 0
		lado = 0
		msc_atual = 0
		aux = 0
		limit = 0
		
		list,qtd = Msc.GetList()
		esq = []
		dir = []
		tam = qtd[pag_atual]
		qtd_opus = len(qtd)
		voltar = False
		score_aux =score_number = 0
		ajuda = False
		#LACO DO MENU 1
		while (voltar == False):
			esq = []
			dir = []
			#CALCULA QUAIS PAGINAS MOSTRAR
			if pag_atual < qtd_opus:
				if pag_atual == 0:
					score_number= i = 0
					limit =qtd[pag_atual]
				else:
					score_number =i = qtd[pag_atual-1]
				while i < qtd[pag_atual]:
					esq.append(self.Carolingia_20.render(arruma_texto(list[i]), False, (226, 157, 54) ))
					i+=1
			if pag_atual +1 < qtd_opus:
				i = qtd[pag_atual]
				while i <qtd[pag_atual+1]:
					dir.append(self.Carolingia_20.render(arruma_texto(list[i]), False, (226, 157, 54) ))
					i+=1
			sair = mudar = False
			score_aux = score_number
			#LACO DO MENU 2
			while (sair == False):
				score_number = score_aux
				#PEGA EVENTOS
				for evento in pygame.event.get():
					#EVENTOS DO MOUSE
					px , py = pygame.mouse.get_pos()
					if ((px>= 729)and (px<=760)) and ((py>= 82)and (py<=110)):
						ajuda = True
					else:
						ajuda = False
					if evento.type == pygame.MOUSEBUTTONUP:
						if Bleft == True:
							px , py = pygame.mouse.get_pos()
							if ((px>= 280)and (px<=348)) and ((py>= 500)and (py<=568)):
								msc_atual = 0
								if lado == 0:
									pag_atual -=2
									if pag_atual <0:
										pag_atual = qtd_opus-2
										lado = 1
									sair = mudar = True
								else:
									lado = 0
									tam = len(dir)
							if ((px>= 450)and (px<=518)) and ((py>= 500)and (py<=568)):
								msc_atual = 0
								if lado == 1:
									pag_atual +=2
									if pag_atual > (qtd_opus-2):
										pag_atual = 0
										lado = 0
									sair = mudar = True
								else:
									lado = 1
									tam = len(esq)
							if ((px>= 70)and (px<=270)) and ((py>= 510)and (py<=560)):
								btn_jogar.click()
								sair = True
							if ((px>= 530)and (px<=730)) and ((py>= 510)and (py<=560)):
								btn_voltar.click()
								mudar =voltar = sair = True
								#return False
							if (len(esq) > len(dir)):
								num = len(esq)
							else:
								num = len(dir)
							aux = Const_default_y+(((-1)*(num/2))*30)
							num2 =0
							for i in range(len(esq)):						
								if ((px>= 65)and (px<=397)) and ((py>= aux+30*num2) and (py<=aux+30*(num2)+25)):
									if (lado == 0)  and (msc_atual == num2):
										sair = True
									else:
										msc_atual = num2
										lado = 0
								num2 += 1
							num2 = 0
							for i in range(len(dir)):
								if ((px>= 415)and (px<=747)) and ((py>= aux+30*num2) and (py<=aux+30*(num2)+25)):
									if (lado == 1)  and (msc_atual == num2):
										sair = True
									else:
										msc_atual = num2
										lado = 1
								num2 += 1
							Bleft == False
					if evento.type == pygame.MOUSEBUTTONDOWN:
						Bleft,Bmiddle, Bright =  pygame.mouse.get_pressed()
					if evento.type == pygame.QUIT:
						sys.exit(0)
					#EVENTOS DO TECLADO
					if evento.type == pygame.KEYDOWN:
						if evento.key == pygame.K_RETURN:
							sair = True
						if evento.key == pygame.K_ESCAPE:
							return False
							msc_atual = -1
						if evento.key == pygame.K_LEFT:
							msc_atual = 0
							if lado == 0:
								pag_atual -=2
								if pag_atual < 0:
									pag_atual = qtd_opus-2
								lado = 1
								sair = mudar = True
							else:
								lado = 0
								tam = len(esq)
								
						if evento.key == pygame.K_RIGHT:
							msc_atual = 0
							if lado == 1:
								pag_atual +=2
								if pag_atual >(qtd_opus-2):
									pag_atual = 0
								lado = 0
								sair = mudar = True
							else:
								lado = 1
								tam = len(dir)
						if evento.key == pygame.K_DOWN:
							msc_atual += 1
							if msc_atual > tam-1:
								msc_atual = 0
						if evento.key == pygame.K_UP:
							msc_atual -= 1
							if msc_atual < 0:
								msc_atual = tam-1
				
				#Desenha Fundo
				self.tela.blit(bkg,(0,0))
				#Escreve Numero das paginas esquerda e direita
				self.tela.blit(self.Carolingia_20.render((repr(pag_atual+1)), False, (226, 157, 54) ),(230,128))
				self.tela.blit(self.Carolingia_20.render((repr(pag_atual+2)), False, (226, 157, 54) ),(590,128))
				self.tela.blit(self.Carolingia_25.render(self.lang.Get(19), False, (226, 157, 54) ),(70,520))
				self.tela.blit(self.Carolingia_25.render(self.lang.Get(1), False, (226, 157, 54) ),(576,520))
				#self.tela.blit(self.Carolingia_25.render(("High Score:  "+repr(msc_atual)), False, (226, 157, 54) ),(0,0))
				#Desenha botoes
				self.tela.blit(btn_jogar.desenha(),(70,510))
				self.tela.blit(btn_red_e.desenha(),(280,500))
				self.tela.blit(btn_red_d.desenha(),(450,500))
				self.tela.blit(btn_voltar.desenha(),(530,510))
				#escreve texto dos botoes
				self.tela.blit(btn_list_text[0],(90,520))
				self.tela.blit(btn_list_text[2],(310,520))
				self.tela.blit(btn_list_text[3],(480,520))
				self.tela.blit(btn_list_text[1],(600,520))
				#ESCREVE ITENS DA PAGINA ESQUERDA
				if (len(esq) > len(dir)):
					num = len(esq)
				else:
					num = len(dir)
				num2 = (-1)*(num/2)
				for i in range(len(esq)):
					aux = Const_default_y+(num2*30)
					num2 += 1
					if (lado == 0):
						if (i == msc_atual):
							self.tela.blit(selected,(60,aux-2))
						else:
							self.tela.blit(unselected,(60,aux-2))
					else:
						self.tela.blit(unselected,(60,aux-2))
					self.tela.blit(esq[i],(65,aux))
					self.tela.blit(self.Carolingia_20.render((repr((self.profile.Get_Q()[score_number])[1])), False, (226, 157, 54) ),(330,aux))
					score_number+=1
				#ESCREVE ITENS DA PAGINA DIREITA
				num2 = (-1)*(num/2)
				for i in range(len(dir)):
					aux = Const_default_y+(num2*30)
					num2 += 1
					if (lado == 1):
						if (i == msc_atual):
							self.tela.blit(selected,(410,aux-2))
						else:
							self.tela.blit(unselected,(410,aux-2))
					else:
						self.tela.blit(unselected,(410,aux-2))
					self.tela.blit(dir[i],(415,aux))
					self.tela.blit(self.Carolingia_20.render((repr((self.profile.Get_Q()[score_number])[1])), False, (226, 157, 54) ),(700,aux))
					score_number+=1
				#DESENHA O MOUSE
				self.tela.blit(self.cursor_picture, pygame.mouse.get_pos())
				if ajuda == True:
					self.help()
				#atualiza a tela
				pygame.display.flip()
				if btn_jogar.getState() or btn_voltar.getState():
					time.sleep(0.2)
			#CHAMA GAMEPLAY
			if (msc_atual >= 0) and (mudar == False):
				if (pag_atual == 0) and lado == 0:
					music_number = msc_atual
				else:
					music_number =msc_atual+qtd[pag_atual-1+lado] #msc_atual+qtd[pag_atual]+lado
				#print (repr(msc_atual)+"|"+repr(qtd[pag_atual+lado])+"|"+repr(lado))
				# [0]1 [2]3 [4]5 [6]
				#print (music_number)
				#if (((self.profile.Get_V()[music_number-1])[2]) >= 50) or (music_number == 0):
				music = Music(Msc.GetOne(music_number))
				Game = Gameplay(self.tela, self.lang, music.GetTable(), music.GetName(), music.GetTempo(), self.config.Get_lvl(), self.config.Get_audio(), music.GetHeaderTicks())
				#recebe os valores de pontuacao
				point, miss, maxcombo,perform = Game.Play()
				if point == miss and miss == maxcombo and maxcombo==perform and perform == 0:
					#chama tela de exibicao
					self.Mostra(point,miss,maxcombo,perform)
				else:
					#verificar a pontuacao
					self.profile.Update_Q(Msc.GetOne(music_number),point)
					self.High_S.Update (Msc.GetOne(music_number),point, self.profile.nome)
					#salva a pontuacao
					self.profile.save()
					#chama tela de exibicao
					self.Mostra(point,miss,maxcombo,perform)
Esempio n. 5
0
	def Menu_A(self):
		Arch = self.profile.Return_Achie()
		#carrega imagens
		btn_general = Button(0)
		btn_voltar = Button(0)
		btn_red_e = Button(1)
		btn_red_d = Button(1)
		btn_list_text = []
		btn_list_text.append(self.Old_English_25.render(self.lang.Get(1), False, (226, 157, 54) ))
		btn_list_text.append(self.Old_English_25.render("<", False, (226, 157, 54) ))
		btn_list_text.append(self.Old_English_25.render(">", False, (226, 157, 54) ))
		bkg = pygame.image.load("Graphics/Screens/Achievment.jpg")
		selected = pygame.image.load("Graphics/Boxes/Selected.jpg")
		unselected = pygame.image.load("Graphics/Boxes/Unselected.jpg")
		#inicia variaveis
		qtd = 0
		pag_atual = 0
		lado = 0
		msc_atual = 0
		aux = 0
		limit = 0

		list,qtd = Arch.return_table()
		esq = []
		dir = []
		tam = qtd[pag_atual]
		voltar = False
		score_aux =score_number = 0
		
		#LACO DO MENU 1
		while (voltar == False):
			esq = []
			dir = []
			#CALCULA QUAIS PAGINAS MOSTRAR
			if ( pag_atual > len(qtd)):
				 pag_atual = 0
			if pag_atual < len(qtd):
				if pag_atual == 0:
					score_number= i = 0
					limit =qtd[pag_atual]
				else:
					score_number =i = qtd[pag_atual-1]
				while i < qtd[pag_atual]:
					esq.append(self.Carolingia_20.render(self.lang.Get(28+i), False, (255*(1-list[i][1]),0,0) ))
					i+=1
			if pag_atual +1 < len(qtd):
				i = qtd[pag_atual]
				while i <qtd[pag_atual+1]:
					dir.append(self.Carolingia_20.render(self.lang.Get(28+i), False, (255*(1-list[i][1]),0,0) ))
					i+=1
			
			sair = mudar = False
			score_aux = score_number
			#LACO DO MENU 2
			while (sair == False):
				score_number = score_aux
				#PEGA EVENTOS
				for evento in pygame.event.get():
					#EVENTOS DO MOUSE
					if evento.type == pygame.MOUSEBUTTONUP:
						if Bleft == True:
							px , py = pygame.mouse.get_pos()
							if ((px>= 80)and (px<=105)) and ((py>= 462)and (py<=487)):
								msc_atual = 0
								if lado == 0:
									pag_atual -=2
									if pag_atual < -2:
										pag_atual = 4
										lado = 1
									sair = mudar = True
								else:
									lado = 0
									tam = len(dir)
							if ((px>= 695)and (px<=720)) and ((py>= 462)and (py<=487)):
								msc_atual = 0
								if lado == 1:
									pag_atual +=2
									if pag_atual == 6:
										pag_atual = 0
										lado = 0
									sair = mudar = True
								else:
									lado = 1
									tam = len(esq)
							#if ((px>= 50)and (px<=250)) and ((py>= 510)and (py<=560)):
							#	sair = True
							if ((px>= 530)and (px<=730)) and ((py>= 510)and (py<=560)):
								btn_voltar.click()
								voltar = sair = True


							aux = Const_default_y
							for i in range(len(esq)):
								if ((px>= 65)and (px<=397)) and ((py>= aux)and (py<=aux+25)):
									if (lado == 0)  and (msc_atual == ((aux - Const_default_y)/30)):
										sair = True
									else:
										msc_atual = int ((aux - Const_default_y)/30)
										lado = 0
								aux+=30

							aux = Const_default_y
							for i in range(len(dir)):
								if ((px>= 415)and (px<=747)) and ((py>= aux)and (py<=aux+25)):
									if (lado == 1)  and (msc_atual == ((aux - Const_default_y)/30)):
										sair = True
									else:
										msc_atual = int ((aux - Const_default_y)/30)
										lado = 1
								aux+=30
							Bleft == False
					if evento.type == pygame.MOUSEBUTTONDOWN:
						Bleft,Bmiddle, Bright =  pygame.mouse.get_pressed()
					if evento.type == pygame.QUIT:
						sys.exit(0)
					#EVENTOS DO TECLADO
					if evento.type == pygame.KEYDOWN:
						if evento.key == pygame.K_RETURN:
							sair = True
						if evento.key == pygame.K_ESCAPE:
							return False
							msc_atual = -1
						if evento.key == pygame.K_LEFT:
							msc_atual = 0
							if lado == 0:
								pag_atual -=2
								if pag_atual == -2:
									pag_atual = 2
									lado = 0
								sair = mudar = True
							else:
								lado = 0
								tam = len(esq)
						if evento.key == pygame.K_RIGHT:
							msc_atual = 0
							if lado == 1:
								pag_atual +=2
								if pag_atual == 4:
									pag_atual = 0
									lado = 0
								sair = mudar = True
							else:
								lado = 1
								tam = len(dir)
								if pag_atual == 4:
									pag_atual = 0
									lado = 0
						if evento.key == pygame.K_DOWN:
							msc_atual += 1
							if msc_atual > tam-1:
								msc_atual = 0
						if evento.key == pygame.K_UP:
							msc_atual -= 1
							if msc_atual < 0:
								msc_atual = tam-1

				#Desenha Fundo
				self.tela.blit(bkg,(0,0))
				#Escreve Numero das paginas esquerda e direita
				self.tela.blit(self.Carolingia_20.render((repr(pag_atual+1)), False, (226, 157, 54) ),(230,128))
				self.tela.blit(self.Carolingia_20.render((repr(pag_atual+2)), False, (226, 157, 54) ),(590,128))
				#self.tela.blit(self.Carolingia_25.render(self.lang.Get(19), False, (226, 157, 54) ),(70,520))
				self.tela.blit(self.Carolingia_25.render(self.lang.Get(1), False, (226, 157, 54) ),(576,520))
				#self.tela.blit(self.Carolingia_25.render(("Achivments \o/:  "), False, (226, 157, 54) ),(0,0))
				#Desenha botoes
				self.tela.blit(btn_general.desenha(),(70,510))
				self.tela.blit(btn_red_e.desenha(),(280,500))
				self.tela.blit(btn_red_d.desenha(),(450,500))
				self.tela.blit(btn_voltar.desenha(),(530,510))
				#escreve texto dos botoes
				#self.tela.blit(btn_list_text[0],(90,520))
				self.tela.blit(btn_list_text[1],(310,520))
				self.tela.blit(btn_list_text[2],(480,520))
				self.tela.blit(btn_list_text[0],(600,520))
				#ESCREVE ITENS DA PAGINA ESQUERDA
				if (len(esq) > len(dir)):
					num = len(esq)
				else:
					num = len(dir)
				num2 = (-1)*(num/2)
				for i in range(len(esq)):
					aux = Const_default_y+(num2*30)
					num2 += 1
					if (lado == 0):
						if (i == msc_atual):
							self.tela.blit(selected,(60,aux-2))
						else:
							self.tela.blit(unselected,(60,aux-2))
					else:
						self.tela.blit(unselected,(60,aux-2))
					self.tela.blit(esq[i],(65,aux))
					#self.tela.blit(self.Carolingia_20.render((repr((self.profile.Get_V()[score_number])[1])), False, (226, 157, 54) ),(330,aux))
					score_number+=1
				#ESCREVE ITENS DA PAGINA DIREITA
				num2 = (-1)*(num/2)
				for i in range(len(dir)):
					aux = Const_default_y+(num2*30)
					num2 += 1
					if (lado == 1):
						if (i == msc_atual):
							self.tela.blit(selected,(410,aux-2))
						else:
							self.tela.blit(unselected,(410,aux-2))
					else:
						self.tela.blit(unselected,(410,aux-2))
					self.tela.blit(dir[i],(415,aux))
					#self.tela.blit(self.Carolingia_20.render((repr((self.profile.Get_V()[score_number])[1])), False, (226, 157, 54) ),(700,aux))
					score_number+=1
				#DESENHA O MOUSE
				self.tela.blit(self.cursor_picture, pygame.mouse.get_pos())
				#atualiza a tela
				pygame.display.flip()
				if btn_voltar.getState():
					time.sleep(0.2)