|
|
Línea 1: |
Línea 1: |
− | {{:Curso Python DGA 2011/pygame/nav}}
| |
− |
| |
− | {{MiTitulo | Ejercicios}}
| |
− | __TOC__
| |
− | {{Tip|
| |
− | Para hacer los ejercicios tienes que usar la plantilla y recursos que tienes en repositorio:
| |
− | https://github.com/neodoo/curso_python_dga_11/tree/master/pygame/starter_kit Las imágenes y sonidos están en las carpetas correspondientes.
| |
− | }}
| |
− |
| |
− | {{Actividad|
| |
− | Title=Ejercicio 1. Preparación del entorno |
| |
− | TOCdepth=2|
| |
− | * Ejecuta el starter para comprobar que has descargado bien los archivos:
| |
− | $ python juego_mono.py
| |
− | : Tienes que ver una pantalla negra
| |
− | * Ponle un título a la ventana:
| |
− | pygame.display.set_caption('Mono zampador')
| |
− | * Carga la imagen de fondo (imagenes/selva.png)
| |
− | * Recuerda descomentar la línea del blit:
| |
− | pantalla.blit(fondo, (0,0))
| |
− | * Comprueba el resultado
| |
− | |Retroalimentacion=[[Archivo:Pygame act1.png|thumb|center|Tienes que ver algo así]]
| |
− | }}
| |
| {{:Curso Python DGA 2011/pygame/nav}} | | {{:Curso Python DGA 2011/pygame/nav}} |
| | | |
Línea 130: |
Línea 107: |
| * Llama al método update de Mono en la zona de actualizar del bucle principal | | * Llama al método update de Mono en la zona de actualizar del bucle principal |
| * Comprueba el funcionamiento del programa. | | * Comprueba el funcionamiento del programa. |
− | }}
| |
− |
| |
− |
| |
− | {{Actividad|
| |
− | Title=Ejercicio 2. Creación de sprite Mono |
| |
− | TOCdepth=2|
| |
− | Nuestro juego va a tener 2 personajes (sprites):
| |
− | * Un mono
| |
− | * Bananas
| |
− | En un archivo auxiliar ('''personajes.py''') crearemos los sprites. Desde el programa principal importaremos nuestros sprites y los utilizaremos.
| |
− | <ul>
| |
− | <li>
| |
− | Crea una clase Mono que herede de Sprite:
| |
− | <source lang="python" line="GESHI_NORMAL_LINE_NUMBERS">
| |
− | class Mono(Sprite):
| |
− | def __init__(self, scr):
| |
− | '''
| |
− | scr es la pantalla del juego donde se pintará el personaje
| |
− | '''
| |
− | Sprite.__init__(self)
| |
− | self.image = cargar_imagen('mono.png')
| |
− | #self.rect = # inicializa su rectángulo
| |
− | self.iniciar()
| |
− | def update(self, keys):
| |
− | pass
| |
− | def draw(self):
| |
− | pass # Haz que draw dibuje la imagen en la pantalla en la posición de su rectángulo.
| |
− | def iniciar(self):
| |
− | # self.rect.center = # Inicializa el rectángulo
| |
− | pass
| |
− | </source>
| |
− | Completa:
| |
− | * Atributo self.rect
| |
− | * método draw
| |
− | * método iniciar
| |
− | </li><li>
| |
− | Crea un objeto mono en la zona de sprites del progama principal.
| |
− | </li><li>
| |
− | Llama a su método draw en la zona de dibujar.
| |
− | </li><li>
| |
− | Comprueba el resultado
| |
− | </li></ul>
| |
− | |Retroalimentacion=[[Archivo:Pygame act2.png|thumb|center|Tienes que ver algo así]]
| |
− | }}
| |
− |
| |
− | {{Actividad|
| |
− | Title=Ejercicio 3. Creación de sprite Banana|
| |
− | TOCdepth=2|
| |
− | Haz lo mismo con el sprite Banana.
| |
− | |Retroalimentacion=[[Archivo:Pygame act3.png|thumb|center|Tienes que ver algo así]]
| |
− | }}
| |
− |
| |
− | {{Actividad|
| |
− | Title=Ejercicio 4. Movimiento Banana|
| |
− | TOCdepth=2|
| |
− | Vamos a escribir el método update de la Banana:
| |
− | * La banana tendrá un movimiento vertical
| |
− | * Cada ciclo iremos aumentado el valor de y (3 pixeles por ejemplo)
| |
− | * Puedes seguir utilizando center o top ...
| |
− | * Cuando la banana llega abajo, vuelve a salir por la parte superior.
| |
− | * Modificamos el métido de iniciar. La x no será siempre el centro de la pantalla, sino un número aleatorio entre 0 y el ancho de la pantalla.
| |
− | ** Usa '''random.randint'''
| |
− | ** Ten cuidado con el mínimo y máximo para que la banana no quede fuera de la pantalla.
| |
− | * Introduce la llamada al método update de banana en la zona de '''actualizar sprites''' del bucle principal.
| |
− | * Comprueba el resultado.
| |
| }} | | }} |