Beispiel #1
0
class EscenaJuegoTerminado(Escena):
    "Escena ejeutada tras perder el juego."

    def __init__(self, puntos):
        "Inicializar Escena de Juego Terminado."
        Escena.__init__(self)
        self.fondo = cargar_imagen("terminado.jpg")
        self.instrucciones = Multilinea(("Reiniciar [F5]", "Salir [Esc]"))
        self.instrucciones.pos(2, 2, 16, 16)
        self.terminado = Texto("Juego Terminado", tamano=72)
        self.puntos = Texto("Puntos: " + str(puntos), tamano=48)

    def eventos(self, teclado=None):
        "Redirecciona a la pantalla adecuada."
        if teclado:
            if teclado[0].key == K_F5:
                self.cambiar_escena(EscenaJuego())

    def dibujar(self, pantalla):
        "Mostrar pantalla de juego terminado."
        pantalla.blit(self.fondo, (0, 0))
        self.instrucciones.mostrar(pantalla, 2)
        pantalla.blit(self.terminado.mostrar(),
                      self.terminado.pos(1, 1, 0, -24))
        pantalla.blit(self.puntos.mostrar(), self.puntos.pos(1, 1, 0, 24))
Beispiel #2
0
 def __init__(self, puntos):
     "Inicializar Escena de Juego Terminado."
     Escena.__init__(self)
     self.fondo = cargar_imagen("terminado.jpg")
     self.instrucciones = Multilinea(("Reiniciar [F5]", "Salir [Esc]"))
     self.instrucciones.pos(2, 2, 16, 16)
     self.terminado = Texto("Juego Terminado", tamano=72)
     self.puntos = Texto("Puntos: " + str(puntos), tamano=48)
Beispiel #3
0
 def __init__(self):
     "Inicializa el videojuego."
     p.init()
     self.pantalla = p.display.set_mode(PANTALLA)
     p.display.set_caption("Unbound Snake")
     #Creacion de objetos del videojuego.
     self.serpiente = Serpiente()
     self.comida = Comida(self.serpiente)
     #Variables de control.
     self.puntos = 0
     self.termino = False
     #Textos.
     self.puntuacion = Texto("Puntos: ")
     self.instrucciones = Multilinea(("Reiniciar [F5]", "Salir [Esc]"))
     self.instrucciones.pos(2, 2, 16, 16)
Beispiel #4
0
 def __init__(self, puntos):
     "Inicializar Escena de Juego Terminado."
     Escena.__init__(self)
     self.fondo = cargar_imagen("terminado.jpg")
     self.instrucciones = Multilinea( ("Reiniciar [F5]", "Salir [Esc]"))
     self.instrucciones.pos(2, 2, 16, 16)
     self.terminado = Texto("Juego Terminado", tamano= 72)
     self.puntos = Texto("Puntos: " + str(puntos), tamano= 48)
Beispiel #5
0
class EscenaJuegoTerminado(Escena):
    "Escena ejeutada tras perder el juego."
    def __init__(self, puntos):
        "Inicializar Escena de Juego Terminado."
        Escena.__init__(self)
        self.fondo = cargar_imagen("terminado.jpg")
        self.instrucciones = Multilinea( ("Reiniciar [F5]", "Salir [Esc]"))
        self.instrucciones.pos(2, 2, 16, 16)
        self.terminado = Texto("Juego Terminado", tamano= 72)
        self.puntos = Texto("Puntos: " + str(puntos), tamano= 48)
        
    def eventos(self, teclado= None):
        "Redirecciona a la pantalla adecuada."
        if teclado:
            if teclado[0].key == K_F5:
                self.cambiar_escena(EscenaJuego())

    def dibujar(self, pantalla):
        "Mostrar pantalla de juego terminado."
        pantalla.blit(self.fondo, (0, 0))
        self.instrucciones.mostrar(pantalla, 2)
        pantalla.blit(self.terminado.mostrar(), 
            self.terminado.pos(1, 1, 0, -24))
        pantalla.blit(self.puntos.mostrar(), self.puntos.pos(1, 1, 0, 24))
Beispiel #6
0
 def __init__(self):
     "Inicializa el videojuego."
     p.init()
     self.pantalla = p.display.set_mode(PANTALLA)
     p.display.set_caption("Unbound Snake")
     #Creacion de objetos del videojuego.
     self.serpiente = Serpiente()
     self.comida = Comida(self.serpiente)
     #Variables de control.
     self.puntos = 0
     self.termino = False
     #Textos.
     self.puntuacion = Texto("Puntos: ")
     self.instrucciones = Multilinea( ("Reiniciar [F5]", "Salir [Esc]"))
     self.instrucciones.pos(2, 2, 16, 16)
Beispiel #7
0
class UnboundSnake():
    "Videojuego de la Serpiente realizado con Pygame."
    def __init__(self):
        "Inicializa el videojuego."
        p.init()
        self.pantalla = p.display.set_mode(PANTALLA)
        p.display.set_caption("Unbound Snake")
        #Creacion de objetos del videojuego.
        self.serpiente = Serpiente()
        self.comida = Comida(self.serpiente)
        #Variables de control.
        self.puntos = 0
        self.termino = False
        #Textos.
        self.puntuacion = Texto("Puntos: ")
        self.instrucciones = Multilinea( ("Reiniciar [F5]", "Salir [Esc]"))
        self.instrucciones.pos(2, 2, 16, 16)
        
    def dibujar(self):
        "Muestra los objetos en pantalla."
        self.pantalla.fill( (0x11, 0x11, 0x11) )        
        #Dibujar objetos en la interfaz.
        self.pantalla.blit(self.comida.image, self.comida.mostrar())
        self.pantalla.blit(self.puntuacion.mostrar(str(self.puntos)), 
            self.puntuacion.pos(horz= 0, vert= 0))
        #Dibujar la serpiente.
        for i in range(0, len(self.serpiente.cuerpo)):
            self.pantalla.blit(self.serpiente.image, self.serpiente.cuerpo[i])
        #Juego Terminado
        if self.termino:
            self.instrucciones.mostrar(self.pantalla, 2)
            terminado = Texto("Juego Terminado", tamano= 72)
            self.pantalla.blit(terminado.mostrar(), terminado.pos(1, 1))
        p.display.flip()
    
    def reiniciar(self, teclado):
        "Reinicia el juego en caso de haber perdido."
        if teclado:
            if teclado[0].key == K_F5:
                self.__init__()
    
    def jugar(self):
        "Ejecuta el videojuego."
        jugando = True
        reloj = p.time.Clock()
        while jugando:
            #Frecuencia de actualizacion (Velocidad de la serpiente).
            reloj.tick(10)
            #Obtencion de eventos.
            teclado = p.event.get(p.KEYDOWN)
            cerrar  = p.event.get(p.QUIT)
            # Nucleo del juego. ########################################
            if not self.termino:
                #Control de la serpiente.
                self.serpiente.teclado(teclado)
                #Actualizar la posicion de la serpiente.
                self.serpiente.actualizar()
                #Generar nueva comida si la serpiente se alimento.
                if self.serpiente.se_alimento(self.comida):
                    self.comida.generar(self.serpiente)
                    self.puntos += 10
            else:
                self.reiniciar(teclado)
            if self.serpiente.colisiona():
                self.termino = True
            jugando = salir(cerrar, teclado)
            ############################################################
            self.dibujar()
Beispiel #8
0
class UnboundSnake():
    "Videojuego de la Serpiente realizado con Pygame."

    def __init__(self):
        "Inicializa el videojuego."
        p.init()
        self.pantalla = p.display.set_mode(PANTALLA)
        p.display.set_caption("Unbound Snake")
        #Creacion de objetos del videojuego.
        self.serpiente = Serpiente()
        self.comida = Comida(self.serpiente)
        #Variables de control.
        self.puntos = 0
        self.termino = False
        #Textos.
        self.puntuacion = Texto("Puntos: ")
        self.instrucciones = Multilinea(("Reiniciar [F5]", "Salir [Esc]"))
        self.instrucciones.pos(2, 2, 16, 16)

    def dibujar(self):
        "Muestra los objetos en pantalla."
        self.pantalla.fill((0x11, 0x11, 0x11))
        #Dibujar objetos en la interfaz.
        self.pantalla.blit(self.comida.image, self.comida.mostrar())
        self.pantalla.blit(self.puntuacion.mostrar(str(self.puntos)),
                           self.puntuacion.pos(horz=0, vert=0))
        #Dibujar la serpiente.
        for i in range(0, len(self.serpiente.cuerpo)):
            self.pantalla.blit(self.serpiente.image, self.serpiente.cuerpo[i])
        #Juego Terminado
        if self.termino:
            self.instrucciones.mostrar(self.pantalla, 2)
            terminado = Texto("Juego Terminado", tamano=72)
            self.pantalla.blit(terminado.mostrar(), terminado.pos(1, 1))
        p.display.flip()

    def reiniciar(self, teclado):
        "Reinicia el juego en caso de haber perdido."
        if teclado:
            if teclado[0].key == K_F5:
                self.__init__()

    def jugar(self):
        "Ejecuta el videojuego."
        jugando = True
        reloj = p.time.Clock()
        while jugando:
            #Frecuencia de actualizacion (Velocidad de la serpiente).
            reloj.tick(10)
            #Obtencion de eventos.
            teclado = p.event.get(p.KEYDOWN)
            cerrar = p.event.get(p.QUIT)
            # Nucleo del juego. ########################################
            if not self.termino:
                #Control de la serpiente.
                self.serpiente.teclado(teclado)
                #Actualizar la posicion de la serpiente.
                self.serpiente.actualizar()
                #Generar nueva comida si la serpiente se alimento.
                if self.serpiente.se_alimento(self.comida):
                    self.comida.generar(self.serpiente)
                    self.puntos += 10
            else:
                self.reiniciar(teclado)
            if self.serpiente.colisiona():
                self.termino = True
            jugando = salir(cerrar, teclado)
            ############################################################
            self.dibujar()