Programar Juegos Arcade
con Python y PygameEjemplos de códigos y programas
En el siguiente enlace podréis encontrar muchos programas de ejemplo listos para descargar:
http://ProgramArcadeGames.com/python_examples/en/python_examples.zip
En la siguiente lista encontraréis una breve descripción de lo que hay disponible:
1.1 Ejemplos con Textos
Programas que no tienen gráficos:
- Programa que calcula el consumo de millas por galón.
calculate_miles_per_gallon.py - Calcula la energía cinética para un objeto.
calculate_kinetic_energy.py - Ejemplo simple de una declaración if.
if_statement_examples.py - Ejemplo simple de un bucle for.
for_loop_examples.py - Ejemplo simple de un bucle while. (Chapter 4
while_loop_examples.py - Ejemplo simple de un cifrado de texto.
simple_encryption.py - Ejemplo simple de un descifrado de texto.
simple_decryption.py
1.2 Ejemplos Gráficos
Estos son programas que muestran el uso de gráficos:
- Este abre una ventana en blanco con pygame. Es una buena plantilla para empezar a usar con cualquier nuevo programa.
pygame_base_template.py - En este archivo se muestra como definir una ventana y dibujar sobre ella rectángulos, polígonos, texto y otras formas básicas.
simple_graphics_demo.py - Demuestra como rotar un texto.
text_rotate.py - Muestra todos los comandos que hay en el módulo de dibujo.
draw_module_example.py - Rectángulo que rebota alrededor de una ventana.
bouncing_rectangle.py - Aquí se muestra como usar un array para animar y seguir múltiples objetos. En este caso, copos de nieve.
animating_snow.py - Dibujamos un muñeco de nieve dentro de una función. Luego, el programa puede llamar a la función y dibujar fácilmente varios muñecos a la vez.
functions_and_graphics.py - Desplazar un objeto con el ratón.
move_mouse.py - Desplazar un objeto con el teclado.
move_keyboard.py - Desplazar un objeto con el mando de juegos.
move_game_controller.py - Cómo interpretar un mando de juegos/joystick.
joystick_calls.py - Mostrar imágenes de mapas de bit sobre la pantalla (png, jpg). Reproducir sonidos.
bitmapped_graphics.py - Mostrar un tablero basado en una retícula bidimensional. Muy útil para crear juegos como el tres en raya, buscaminas, juegos de memorizar, conecta cuatro, etc.
array_backed_grid.py - Muestra uno o más páginas de instrucciones antes del inicio del juego.
instruction_screen.py - Reproduce música de fondo. Cuando se acaba una canción, se dispara un evento y comienza otra diferente. La música viene incluida en un archivo zip descargable o, también, puedes seguir los enlaces y descargarte tú mismo la música.
background_music.py - Nos enseña a mostrar un mensaje del tipo "Game Over" centrado y parar el jeugo cuando éste se ha terminado.
game_over.py - Muestra como crear una línea que se mueva alrededor de un círculo, algo así como la pantalla de un radar.
radar_sweep.py - Temporizadores.
timer.py - Uso de la recursividad para crear rectángulos anidados.
recursive_rectangles.py - Uso de la recursividad para crear fractales.
fractal.py - Coloca un temporizador en pantalla.
timer.py
1.3 Ejemplos con Sprites
- Movemos un sprite con el ratón y recogemos bloques con él.
sprite_collect_blocks.py - Lo mismo que en el ejemplo de recoger bloques, pero ahora se mueven los sprites.
moving_sprites.py - Lo mismo que en el ejemplo de recoger bloques, pero ahora puedes mover el sprite y hacer click para recogerlos.
pick_up_blocks.py - En lugar de que los sprites solo caigan, ahora pueden rebotar.
moving_sprites_bounce.py - ¿Aburrido el ejemplo anterior? Hagamos que ahora se muevan en círculos.
sprite_circle_movement.py - Expandimos el ejemplo anterior y mostramos como gestionar un juego con niveles. Subimos de nivel cuando todos los bloques han sido eliminados.
sprite_collect_blocks_levels.py - Igual que en sprite_collect_blocks.py pero ahora usamos un círculo negro en lugar de un bloque.
sprite_collect_circle.py - Igual que en sprite_collect_blocks.py pero ahora usamos un gráfico en lugar de un bloque.
sprite_collect_graphic.py - Igual que en sprite_collect_blocks.py pero ahora usamos un gráfico en lugar de un bloque.
sprite_rotating.py - La misma idea que en sprite_collect_blocks.py solo que ahora usamos la clase Juego para organizar el código. Esta es una forma más avanzada
de organizar el código. Nos ayuda si por ejemplo quieres “reiniciar” el juego una vez que se ha acabado.
game_class_example.py - Desplazamos con el ratón un sprite alrededor de la pantalla.
move_sprite_mouse.py - Desplazamos un sprite con el teclado a “saltos.”
move_sprite_keyboard_jump.py - Desplazamos suave y continuamente un sprite mientras mantenemos presionado el teclado.
move_sprite_keyboard_smooth.py - Desplazamos un sprite con el mando de juegos o joystick.
move_sprite_game_controller.py - Juego básico Pong usando dos mandos de juego.
pong.py - Disparar proyectiles con sprites.
bullets.py - Controlar una serpiente que se mueve alrededor de la pantalla.
snake.py
1.4 Ejemplos de Plataformas
Ejemplos progresivamente más complicados para llegar a un juego con plataformas:
- Desplazamos un sprite alrededor de la pantalla, pero no permitimos que lo haga a través de las paredes.
move_with_walls_example.py - Versión más complicada del ejemplo anterior, ahora con paredes de colores diferentes y habitaciones múltiples.
maze_runner.py - Permitimos que el protagonista salte sobre las plataformas.
platform_jumper.py - Como en platform jumper, pero nos desplazamos a los lados.
platform_scroller.py - ¡Hagamos que todo se mueva!
platform_moving.py - Ejemplo con múltiples archivos que muestran como construir un juego de plataformas con hojas de sprites (sprites sheets).
Sprite Sheets
También incluimos algunos ejemplos más extensos.
You are not logged in. Log in here and track your progress.
Copyright © 2017
English version by Paul Vincent Craven
Spanish version by Antonio Rodríguez Verdugo
Russian version by Vladimir Slav
Turkish version by Güray Yildirim
Portuguese version by Armando Marques Sobrinho and Tati Carvalho
Dutch version by Frank Waegeman
Hungarian version by Nagy Attila
Finnish version by Jouko Järvenpää
French version by Franco Rossi
Korean version by Kim Zeung-Il
Chinese version by Kai Lin
English version by Paul Vincent Craven
Spanish version by Antonio Rodríguez Verdugo
Russian version by Vladimir Slav
Turkish version by Güray Yildirim
Portuguese version by Armando Marques Sobrinho and Tati Carvalho
Dutch version by Frank Waegeman
Hungarian version by Nagy Attila
Finnish version by Jouko Järvenpää
French version by Franco Rossi
Korean version by Kim Zeung-Il
Chinese version by Kai Lin