|
|
| 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.
| |
| | }} | | }} |