Ejercicio98.py

Utilizando Pygame. Crear un juego en donde una imagen se desplace a traves de la pantalla utilizando las teclas de direccion.

Aporte de Lev Yashin


# -*- coding: utf8 -*-
# Ejercicio 98
################################################
## Enunciado
################################################
# Hacer un juego con pygame en donde mediante
# las flechas de direccion del teclado se pueda
# mover una imagen a traves de la pantalla
################################################


# Importamos los modulos necesarios
import pygame
from pygame.locals import *
from sys import exit

# Hacemos uso de la asignacion de las contantes, que son las imagenes
# Aca tenemos el fondo
imagendefondo = 'fondo.jpg'
# Y nuestra figura principal, Mr T
cara = 'mrt.png'

# Iniciamos Pygame
pygame.init()
# Iniciamos una pantalla, que no cumple con el ejercicio, pero bue
pantalla = pygame.display.set_mode((590,442),0,32)
# Le cargamos un titulo a la ventana
pygame.display.set_caption(u"Aguante Mr T")
# Cargamos el fondo
fondo = pygame.image.load(imagendefondo).convert()
# Cargamos a Mr T y le damos la trasnparencia, recordemos que
# La imagen misma tiene que tener la posibilidad de manejar trasnparencia
caripela = pygame.image.load(cara).convert_alpha()

# Aca asignamos valores previos a dos variables
x,y = 0,0
mover_y, mover_x= 0,0
# Arrancamos un bucle
while True:
    # Y comenzamos a capturar los eventos
    for event in pygame.event.get():
        # Si el tipo de evento es precionar sobre x
        if event.type == QUIT:
            # imprimo un texto
            print u"Me fui"
            # Y finalizo el programa
            exit()
        # Nos fijamos si al precionar la tecla
        if event.type == KEYDOWN:
            # ocurren los siguientes eventos
            # si tocamos p hacemos que la imagen se quede quieta
            if event.key == K_p:
                mover_x,mover_y=0,0
            # si tocamos flecha izquierda se mueve en esa direccion
            if event.key == K_LEFT:
                mover_x=-1
            # Lo mismo para la derecha y las demas direcciones
            elif event.key == K_RIGHT:
                mover_x=+1
            # Arriba
            elif event.key == K_UP:
                mover_y=-1
            # Abajo
            elif event.key == K_DOWN:
                mover_y=+1
            # y los siguientes eventos son para cuando soltamos la tecla
            elif event.type == KEYUP:
                if event.key == K_LEFT:
                    mover_x=0
                elif event.key == K_RIGHT:
                    mover_x=0
                elif event.key == K_UP:
                    mover_y=0
                elif event.key == K_DOWN:
                    mover_y=0
                # Si el evento es tocar una tecla

    x+=mover_x
    y+=mover_y
    # Aca manejamos el repintado del fondo
    pantalla.blit(fondo,(0,0))
    # Y de MrT
    pantalla.blit(caripela,(x,y))
    # Por ultimo pedimos que actualice la vista contantemente
    pygame.display.update()

Deja un comentario