Diferencia entre revisiones de «Curso Python DGA 2011/pygame/ejercicios clase»
Línea 21: | Línea 21: | ||
* Comprueba el resultado | * Comprueba el resultado | ||
|Retroalimentacion=[[Archivo:Pygame act1.png|thumb|center|Tienes que ver algo así]] | |Retroalimentacion=[[Archivo:Pygame act1.png|thumb|center|Tienes que ver algo así]] | ||
+ | }} | ||
+ | {{: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í]] | ||
+ | }} | ||
+ | |||
+ | |||
+ | {{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. | ||
+ | }} | ||
+ | |||
+ | {{Actividad| | ||
+ | Title=Ejercicio 5. Movimiento Mono| | ||
+ | TOCdepth=2| | ||
+ | El mono se moverá horizontalmente utilizando el teclado. Escribe el método update del mono: | ||
+ | * Le pasaremos como parámetro las teclas que están pulsadas en el ciclo. | ||
+ | * Si está pulsada la tecla flecha izquierda, moveremos su rectángulo a la izquierda 5 pasos. | ||
+ | <source lang="python" line="GESHI_NORMAL_LINE_NUMBERS"> | ||
+ | # Update de la clase Mono | ||
+ | def update(self, keys): | ||
+ | if keys[K_LEFT]: | ||
+ | self.rect.centerx -= 5 # podemos usar un atributo: self.velocidad | ||
+ | elif keys[K_RIGHT]: | ||
+ | self.rect.centerx += 5 | ||
+ | </source> | ||
+ | * Tendrás que corregirlo para que el mono no se pueda salir de la pantalla. | ||
+ | * Introduce la captura de las teclas en el bucle principal en la zona de captura de eventos: | ||
+ | keys = pygame.key.get_pressed() | ||
+ | * Llama al método update de Mono en la zona de actualizar del bucle principal | ||
+ | * Comprueba el funcionamiento del programa. | ||
}} | }} | ||
Revisión de 11:15 30 ago 2011
Contenido
- 1 Ejercicio 1. Preparación del entorno
- 2 Ejercicio 1. Preparación del entorno
- 3 Ejercicio 1. Preparación del entorno
- 4 Ejercicio 2. Creación de sprite Mono
- 5 Ejercicio 3. Creación de sprite Banana
- 6 Ejercicio 4. Movimiento Banana
- 7 Ejercicio 5. Movimiento Mono
- 8 Ejercicio 2. Creación de sprite Mono
- 9 Ejercicio 3. Creación de sprite Banana
- 10 Ejercicio 4. Movimiento Banana
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.
Ejercicio 1. Preparación del entorno
$ python juego_mono.py
pygame.display.set_caption('Mono zampador')
pantalla.blit(fondo, (0,0))
|
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.
Ejercicio 1. Preparación del entorno
$ python juego_mono.py
pygame.display.set_caption('Mono zampador')
pantalla.blit(fondo, (0,0))
|
Ejercicio 2. Creación de sprite Mono
Nuestro juego va a tener 2 personajes (sprites):
En un archivo auxiliar (personajes.py) crearemos los sprites. Desde el programa principal importaremos nuestros sprites y los utilizaremos.
|
Ejercicio 3. Creación de sprite Banana
Ejercicio 4. Movimiento Banana
Vamos a escribir el método update de la Banana:
|
Ejercicio 5. Movimiento Mono
Ejercicio 2. Creación de sprite Mono
Nuestro juego va a tener 2 personajes (sprites):
En un archivo auxiliar (personajes.py) crearemos los sprites. Desde el programa principal importaremos nuestros sprites y los utilizaremos.
|
Ejercicio 3. Creación de sprite Banana
Ejercicio 4. Movimiento Banana
Vamos a escribir el método update de la Banana:
|