def game_guia(): intro = True while intro == True: #font = pygame.font.SysFont(None,10) for event in pygame.event.get(): #print(event) if event.type == pygame.QUIT: supportfunciones.quit_juego() textLinea = [] jsonRanking = peticiones.mostrarRanking() gameDisplay.fill(color.blanco) #print(jsonRanking[0]["username"]) count = 0 while count < len(jsonRanking): for ranking in jsonRanking: textLinea.append(ranking["username"] + " " + str(ranking["score"])) count = count + 1 count = 1 for text in textLinea: font = pygame.font.SysFont(None,30) #texto = font.render(text, True, (0,0,0)) textSuperficie, textRect = textcreator.objetos_texto(text, font) gameDisplay.blit(textSuperficie, (20,count*30)) count = count +1 params = supportfunciones.paramBotones(0.5*display_ancho,0.8*display_altura,0.2*display_ancho,50,color.verde,color.verde_oscuro) dManager.boton("Regresar", params, None, oriongame.game_intro) pygame.display.update() clock.tick(15)
def game_guia(): intro = True while intro == True: #font = pygame.font.SysFont(None,10) for event in pygame.event.get(): #print(event) if event.type == pygame.QUIT: supportfunciones.quit_juego() textLinea = [] gameDisplay.fill(color.blanco) textLinea.append("Bienvenido a Orion: The Game!") textLinea.append("Orion: The Game es un pequeño juego desarrollado") textLinea.append("para nuestro curso de Ingenieria de Sistemas") textLinea.append("Los controles del juego son sencillos:") textLinea.append( "Presiona M para pausar o reanudar la musica y P para pausar o reanudar la partida" ) textLinea.append( "Cada vez que esquivas un enemigo, tu puntaje incrementa por 1") textLinea.append( "Si logras recoger una pila, podras resistir un choque mas") textLinea.append( "Sin embargo, ten cuidado con los huecos, estos pueden privarte del movimiento" ) textLinea.append( "Trata de esquivar la mayor cantidad de enemigo para alcanzar un highscore!" ) count = 1 for text in textLinea: font = pygame.font.SysFont(None, 30) #texto = font.render(text, True, (0,0,0)) textSuperficie, textRect = textcreator.objetos_texto(text, font) gameDisplay.blit(textSuperficie, (20, count * 30)) count = count + 1 params = supportfunciones.paramBotones(0.5 * display_ancho, 0.8 * display_altura, 0.2 * display_ancho, 50, color.verde, color.verde_oscuro) dManager.boton("Regresar", params, None, oriongame.game_intro) pygame.display.update() clock.tick(15)
def crash(puntaje): #peticiones.actualizarScore(user, punt) #print("Si llega a esta pantalla") sesion = singletonsesion.datosSesion.get_instance() while True: for event in pygame.event.get(): #print(event) if event.type == pygame.QUIT: supportfunciones.quit_juego() #se puede omitir la funcion fill para ver el estado del juego pausado #gameDisplay.fill(blanco) fondo = pygame.image.load("images/crash.png") fondo = pygame.transform.scale(fondo, (display_ancho, display_altura)) gameDisplay.blit(fondo, (0, 0)) params1 = supportfunciones.paramBotones(0.4 * display_ancho, 0.3 * display_altura, 0.2 * display_ancho, 40, color.blanco, color.blanco) params2 = supportfunciones.paramBotones(0.4 * display_ancho, 0.5 * display_altura, 0.2 * display_ancho, 40, color.blanco, color.blanco) params3 = supportfunciones.paramBotones(0.1875 * display_ancho, 0.6 * display_altura, 0.1875 * display_ancho, 40, color.verde, color.verde_oscuro) params4 = supportfunciones.paramBotones(0.625 * display_ancho, 0.6 * display_altura, 0.1875 * display_ancho, 40, color.rojo, color.rojo_oscuro) params5 = supportfunciones.paramBotones(0.4 * display_ancho, 0.7 * display_altura, 0.2 * display_ancho, 40, color.azul, color.azul_oscuro) params6 = supportfunciones.paramBotones(0.4 * display_ancho, 0.4 * display_altura, 0.2 * display_ancho, 40, color.blanco, color.blanco) dManager.boton("Te chocaste!", params1, None, None) dManager.boton(sesion.nombreUsuario, params6, None, None) dManager.boton("Tu puntaje: " + str(puntaje), params2, None, None) #dManager.boton("Tu puesto en el Ranking: " + str(peticiones.mostrarPosUsuario(user)), params2, None, None) dManager.boton("Nueva Partida", params3, None, gamescreen.game_bucle) dManager.boton("Regresar al menu", params5, None, oriongame.game_intro) dManager.boton("Salir", params4, None, supportfunciones.quit_juego) #actualizar pantalla pygame.display.update() clock.tick(15)
def game_intro(): sesion = singletonsesion.datosSesion.get_instance() userExiste = False intro = True while intro == True: for event in pygame.event.get(): #agarra el input del usuario y lo concatena #NUEVO! nombre de usuario solo puede tener un maximo de 10 caracteres y #el usuario puede borrar el ultimo caracter con la tecla backspace/return #print (event) if event.type == pygame.KEYDOWN: if event.unicode.isalpha() and event.unicode != "\x08" and len(sesion.nombreUsuario) <= 10: sesion.nombreUsuario += event.unicode if event.unicode == "\x08" and sesion.nombreUsuario != "": sesion.nombreUsuario = sesion.nombreUsuario[:-1] if event.type == pygame.QUIT: supportfunciones.quit_juego() if event.type == pygame.MOUSEBUTTONDOWN: if event.button == 1: dManager.boton(sesion.nombreUsuario,params2, None, None) userExiste = True #fondo de pantalla, ajustar tamaño con transform.scale fondo = pygame.image.load("images/fondo.jpg") fondo = pygame.transform.scale(fondo, (display_ancho, display_altura)) gameDisplay.blit(fondo, (0,0)) orion = pygame.image.load("images/orion.jpg") orion = pygame.transform.scale(orion, (int(display_ancho/4), int(display_altura/4))) gameDisplay.blit(orion, (0.375*display_ancho,0.2*display_altura)) config = pygame.image.load("images/config.png") config = pygame.transform.scale(config, (int(display_ancho/15), int(display_ancho/15))) gameDisplay.blit(config, (0.93*display_ancho,0.7*display_altura)) ayuda = pygame.image.load("images/ayuda.png") ayuda = pygame.transform.scale(ayuda, (int(display_ancho/15), int(display_ancho/15))) gameDisplay.blit(ayuda, (0.93*display_ancho,0.8*display_altura)) rank = pygame.image.load("images/highscore.png") rank = pygame.transform.scale(rank, (int(display_ancho/15), int(display_ancho/15))) gameDisplay.blit(rank, (0.93*display_ancho,0.9*display_altura)) mouse = pygame.mouse.get_pos() click = pygame.mouse.get_pressed() if (0.93*display_ancho+display_ancho/15) > mouse[0] and 0.93*display_ancho < mouse[0] and (0.8*display_altura+display_ancho/15) > mouse[1] and 0.8*display_altura < mouse[1]: if click[0] == 1: guidescreen.game_guia() if (0.93*display_ancho+display_ancho/15) > mouse[0] and 0.93*display_ancho < mouse[0] and (0.9*display_altura+display_ancho/15) > mouse[1] and 0.9*display_altura < mouse[1]: if click[0] == 1: rankingscreen.game_guia() if (0.93*display_ancho+display_ancho/15) > mouse[0] and 0.93*display_ancho < mouse[0] and (0.7*display_altura+display_ancho/15) > mouse[1] and 0.7*display_altura < mouse[1]: if click[0] == 1: easyconfscreen.game_configuration() textoFuente = pygame.font.Font("freesansbold.ttf", 50) textSuperficie, textRect = textcreator.objetos_texto("Orion: The Game", textoFuente) textRect.center = ((display_ancho/2), (display_altura/2)) gameDisplay.blit(textSuperficie, textRect) #Logica para ingresar usuario: #Va a existir un boton que indique que "ingrese su usuario" #Cuando el usuario presione el boton izquierdo del mouse se crea un boton que se va a llenar con el nombre de usuario #Para que el usuario no tenga que dejar presionado el mouse, creamos una variable para ver si ya presiono #anteriormente el mouse params1 = supportfunciones.paramBotones(0.4*display_ancho,0.55*display_altura,0.2*display_ancho,25,color.blanco,color.blanco) params2 = supportfunciones.paramBotones(0.4*display_ancho,0.6*display_altura,0.2*display_ancho,25,color.blanco,color.blanco) params3 = supportfunciones.paramBotones(0.4*display_ancho,0.65*display_altura,0.2*display_ancho,50,color.verde,color.verde_oscuro) params4 = supportfunciones.paramBotones(0.4*display_ancho,0.75*display_altura,0.2*display_ancho,50,color.rojo,color.rojo_oscuro) dManager.boton("Ingresar jugador",params1, None, None) if userExiste == True: dManager.boton(sesion.nombreUsuario,params2, None, None) bdquery1 = ["validarUser", sesion.nombreUsuario] dManager.boton("Iniciar",params3, None,gamescreen.game_bucle) dManager.boton("Salir",params4, None,supportfunciones.quit_juego) #actualizar pantalla pygame.display.update() clock.tick(15)
def game_configuration(): intro = True while intro == True: mouse = pygame.mouse.get_pos() click = pygame.mouse.get_pressed() #font = pygame.font.SysFont(None,10) for event in pygame.event.get(): #print(event) if event.type == pygame.QUIT: supportfunciones.quit_juego() if event.type == pygame.KEYDOWN: if 57 >= event.key >= 48 and len(sesion.nombreUsuario) <= 10: if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 90 + 25) > mouse[1] and 90 < mouse[1]: if click[0] == 1: confTemp[0] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 120 + 25) > mouse[1] and 120 < mouse[1]: if click[0] == 1: confTemp[1] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 150 + 25) > mouse[1] and 150 < mouse[1]: if click[0] == 1: confTemp[2] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 180 + 25) > mouse[1] and 180 < mouse[1]: if click[0] == 1: confTemp[3] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 210 + 25) > mouse[1] and 210 < mouse[1]: if click[0] == 1: confTemp[4] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 240 + 25) > mouse[1] and 240 < mouse[1]: if click[0] == 1: confTemp[5] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 270 + 25) > mouse[1] and 270 < mouse[1]: if click[0] == 1: confTemp[6] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 300 + 25) > mouse[1] and 300 < mouse[1]: if click[0] == 1: confTemp[7] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 330 + 25) > mouse[1] and 330 < mouse[1]: if click[0] == 1: confTemp[8] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 360 + 25) > mouse[1] and 360 < mouse[1]: if click[0] == 1: confTemp[9] = str(event.key - 48) textLinea = [] gameDisplay.fill(color.blanco) textLinea.append("CONFIGURADOR") textLinea.append("DIFICULTAD: INTERMEDIO") textLinea.append("CANTIDAD DE VEHICULOS ENEMIGOS:") textLinea.append("VELOCIDAD DE VEHICULOS ENEMIGOS:") textLinea.append("TAMAÑO DE VEHICULOS ENEMIGOS:") textLinea.append("CANTIDAD DE HUECOS:") textLinea.append("VELOCIDAD DE HUECOS:") textLinea.append("TAMAÑOS DE HUECOS:") textLinea.append("CANTIDAD DE BATERIAS:") textLinea.append("VELOCIDAD DE BATERIAS:") textLinea.append("TAMAÑO DE BATERIAS:") count = 0 count2 = 0 for text in textLinea: font = pygame.font.SysFont(None, 30) #texto = font.render(text, True, (0,0,0)) textSuperficie, textRect = textcreator.objetos_texto( text, font) gameDisplay.blit(textSuperficie, (20, (count + 1) * 30)) if count >= 2: params = supportfunciones.paramBotones( 0.8 * display_ancho, (count + 1) * 30, 0.15 * display_ancho, 25, color.azul, color.azul_oscuro) dManager.boton(str(confTemp[count - 2]), params, None, None) count = count + 1 params = supportfunciones.paramBotones(0.2 * display_ancho, 0.8 * display_altura, 0.2 * display_ancho, 50, color.verde, color.verde_oscuro) params2 = supportfunciones.paramBotones(0.5 * display_ancho, 0.8 * display_altura, 0.2 * display_ancho, 50, color.verde, color.verde_oscuro) if ((0.5 * display_ancho + 0.2 * display_ancho) > mouse[0] and 0.5 * display_ancho < mouse[0]) and ( 0.8 * display_altura + 50 > mouse[1] and 0.8 * display_altura < mouse[1]): if click[0] == 1: transfercreator.transferirParams(confTemp, conf, "intermedio") dManager.boton("Regresar", params, None, easyconfscreen.game_configuration) dManager.boton("Continuar", params2, None, hardconfscreen.game_configuration) pygame.display.update() clock.tick(15)
def game_configuration(): intro = True while intro == True: mouse = pygame.mouse.get_pos() click = pygame.mouse.get_pressed() #font = pygame.font.SysFont(None,10) for event in pygame.event.get(): #print(event) if event.type == pygame.QUIT: supportfunciones.quit_juego() if event.type == pygame.KEYDOWN: if 57 >= event.key >= 48 and len(sesion.nombreUsuario) <= 10: if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 90 + 25) > mouse[1] and 90 < mouse[1]: if click[0] == 1: confTemp[0] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 120 + 25) > mouse[1] and 120 < mouse[1]: if click[0] == 1: confTemp[1] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 150 + 25) > mouse[1] and 150 < mouse[1]: if click[0] == 1: confTemp[2] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 180 + 25) > mouse[1] and 180 < mouse[1]: if click[0] == 1: confTemp[3] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 210 + 25) > mouse[1] and 210 < mouse[1]: if click[0] == 1: confTemp[4] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 240 + 25) > mouse[1] and 240 < mouse[1]: if click[0] == 1: confTemp[5] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 270 + 25) > mouse[1] and 270 < mouse[1]: if click[0] == 1: confTemp[6] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 300 + 25) > mouse[1] and 300 < mouse[1]: if click[0] == 1: confTemp[7] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 330 + 25) > mouse[1] and 330 < mouse[1]: if click[0] == 1: confTemp[8] = str(event.key - 48) if (0.8 * display_ancho + 0.15 * display_ancho ) > mouse[0] and 0.8 * display_ancho < mouse[0] and ( 360 + 25) > mouse[1] and 360 < mouse[1]: if click[0] == 1: confTemp[9] = str(event.key - 48) ## elif event.unicode == "\x08": ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (90+25) > mouse[1] and 90 < mouse[1] and confTemp[0] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (120+25) > mouse[1] and 120 < mouse[1] and confTemp[1] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (150+25) > mouse[1] and 150 < mouse[1] and confTemp[2] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (180+25) > mouse[1] and 180 < mouse[1] and confTemp[3] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (210+25) > mouse[1] and 210 < mouse[1] and confTemp[4] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (240+25) > mouse[1] and 240 < mouse[1] and confTemp[5] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (270+25) > mouse[1] and 270 < mouse[1] and confTemp[6] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (300+25) > mouse[1] and 300 < mouse[1] and confTemp[7] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (330+25) > mouse[1] and 330 < mouse[1] and confTemp[8] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] ## if (0.8*display_ancho+0.15*display_ancho) > mouse[0] and 0.8*display_ancho < mouse[0] and (360+25) > mouse[1] and 360 < mouse[1] and confTemp[9] != "": ## if click[0] == 1: ## confTemp = confTemp[:-1] textLinea = [] gameDisplay.fill(color.blanco) textLinea.append("CONFIGURADOR") textLinea.append("DIFICULTAD: FACIL") textLinea.append("NO USAR BAJO CONSTRUCCION") textLinea.append("CANTIDAD DE VEHICULOS ENEMIGOS:") textLinea.append("VELOCIDAD DE VEHICULOS ENEMIGOS:") textLinea.append( "TAMAÑO (0.8*TAMAÑO PLAYER BUS) DE VEHICULOS ENEMIGOS:") textLinea.append("CANTIDAD DE HUECOS:") textLinea.append("VELOCIDAD DE HUECOS:") textLinea.append("TAMAÑOS DE HUECOS:") textLinea.append("CANTIDAD DE BATERIAS:") textLinea.append("VELOCIDAD DE BATERIAS:") textLinea.append("TAMAÑO DE BATERIAS:") count = 0 count2 = 0 for text in textLinea: font = pygame.font.SysFont(None, 30) #texto = font.render(text, True, (0,0,0)) textSuperficie, textRect = textcreator.objetos_texto( text, font) gameDisplay.blit(textSuperficie, (20, (count + 1) * 30)) if count >= 3: params = supportfunciones.paramBotones( 0.8 * display_ancho, (count + 1) * 30, 0.15 * display_ancho, 25, color.azul, color.azul_oscuro) dManager.boton(str(confTemp[count - 2]), params, None, None) count = count + 1 params = supportfunciones.paramBotones(0.2 * display_ancho, 0.8 * display_altura, 0.2 * display_ancho, 50, color.verde, color.verde_oscuro) params2 = supportfunciones.paramBotones(0.5 * display_ancho, 0.8 * display_altura, 0.2 * display_ancho, 50, color.verde, color.verde_oscuro) if ((0.5 * display_ancho + 0.2 * display_ancho) > mouse[0] and 0.5 * display_ancho < mouse[0]) and ( 0.8 * display_altura + 50 > mouse[1] and 0.8 * display_altura < mouse[1]): count = 0 for key, value in conf.items(): if key == "facil": for val in value: if isinstance(val, (list, )): while count <= 2: print("----------") print(val[count]) print(confTemp[count + 1]) val[count] = confTemp[count] count = count + 1 count = 0 else: val = confTemp[9] dManager.boton("Regresar", params, None, oriongame.game_intro) dManager.boton("Continuar", params2, None, mediumconfscreen.game_configuration) pygame.display.update() clock.tick(15)