<-- Back to list of examples
"""
Dibujaremos rectángulos de forma recursiva.
Sample Python/Pygame Programs
Simpson College Computer Science
http://programarcadegames.com/
http://simpson.edu/computer-science/
"""
import pygame
# Definimos algunos colores
NEGRO = (0, 0, 0)
BLANCO = (255, 255, 255)
def dibujo_recursivo(x, y, largo, alto):
""" Función para dibujar recursivamente rectángulos. """
pygame.draw.rect(pantalla, NEGRO,
[x,y,largo,alto],
1)
# Es el rectángulo lo bastante largo como para volver a dibujarlo?
if(largo > 14):
# Reducimos
x += largo * .1
y += alto * .1
largo *= .8
alto *= .8
# Lo dibujamos otra vez recursivamente
dibujo_recursivo(x, y, largo, alto)
pygame.init()
# Establecemos el alto y largo de la pantalla
dimensiones = [700, 500]
pantalla = pygame.display.set_mode(dimensiones)
pygame.display.set_caption("Mi Juego")
# Iteramos hasta que el usuario haga click sobre el botón de cerrar
hecho = False
# Usado para gestionar cuán rápido se actualiza la pantalla
reloj = pygame.time.Clock()
# -------- Bucle Principal del Programa -----------
while not hecho:
for evento in pygame.event.get():
if evento.type == pygame.QUIT:
hecho = True
# Limpia la pantalla y establece su color de fondo
pantalla.fill(BLANCO)
# TODO EL CÓDIGO DE DIBUJO DEBERÍA IR DEBAJO DE ESTE COMENTARIO
dibujo_recursivo(0, 0, 700, 500)
# TODO EL CÓDIGO DE DIBUJO DEBERÍA IR ENCIMA DE ESTE COMENTARIO
# # Avancemos y actualicemos la pantalla con lo que hemos dibujado.
pygame.display.flip()
# Limitamos a 60 fotogramas por segundo
reloj.tick(60)
# Pórtate bien con el IDLE. Si nos olvidamos de esta línea, el programa se 'colgará'
# en la salida.
pygame.quit()