Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Python / Como crear un Grid en Pygame

Como crear un Grid en Pygame

Por Jesús Tepec viernes, marzo 11, 2016

Utilizando pygame para hacer gráficos en python, se muestra a continuación un sencillo ejemplo de cómo utilizar esta librería para dibujar una cuadrícula o rejilla. Lo que veremos como resultado es algo como lo que se muestra en la figura

grid python

Utilizando algunos trucos podremos elegir coordenadas donde podamos posicionar un cuadrado. Aquí no veremos cómo hacerlo, pero si estás interesado puedes consultar este tutorial Programando una cuadrícula con Pygame.

Código fuente

Se muestra el código completo para dibujar la cuadrícula, después se describe el código paso a paso y al final un vídeo para mostrar el funcionamiento.

 1 import pygame
 2 
 3 AZUL = (0, 0, 255)
 4 BLACK = (0, 0, 0)
 5 tamCuadro = 40
 6 
 7 pygame.init()
 8 size = (600, 600)
 9 screen = pygame.display.set_mode(size)
10 pygame.display.set_caption("Grid on PYGAME")
11 clock = pygame.time.Clock()
12 gameOver = False
13 while not gameOver:
14     for event in pygame.event.get():
15         if event.type == pygame.QUIT:
16             gameOver = True
17     screen.fill(BLACK)
18     for i in range(1, size[0], tamCuadro + 1):
19         for j in range(1, size[1], tamCuadro + 1):
20             pygame.draw.rect(screen, AZUL, [i, j, tamCuadro, tamCuadro], 0)
21     pygame.display.flip()
22     clock.tick(1)
23 pygame.quit()

Paso a paso

Crear colores. La forma de hacer un color es utilizando una tupla, la cual debe contener 3 elementos, uno para Rojo, otro para Verde y otro para Azul (RGB), los números que se utilicen deben estar en un rango de 0 a 255, donde 0 denota negro o sin color y 255 blanco o todo el color, así rojo sería de la siguiente forma.

ROJO = (255, 0, 0)

Tamaño de los cuadros. Usamos una variable para definir el tamaño de los cuadros, caso útil si se desea cambiar el tamaño y no tengamos que cambiar muchas líneas.

Dibujando la cuadrícula. Para llenar la pantalla de cuadrados, utilizamos dos bucles for, uno para recorrer el ancho y otro el alto de la pantalla, los iteradores i y j se irán aumentando según lo establecido previamente más uno (tamCuadro + 1), esto último para dejar un espacio entre los cuadros. Cuando se dibujan los cuadros i y j se pasan como puntos iniciales, y la variable tamCuadro definirá la longitud de los lados.

 1 for i in range(1, size[0], tamCuadro + 1):
 2     for j in range(1, size[1], tamCuadro + 1):
 3         pygame.draw.rect(screen, AZUL, [i, j, tamCuadro, tamCuadro], 0)

La parte de dibujo de formas podrás entenderla con mayor claridad en el siguiente enlace: Introducción a los gráficos en Pygame
Si variamos los valores del tamaño y color podemos obtener variaciones de la cuadrícula

python game

Funcionamiento

Tags

Artículos similares

Hola Bolivia con LibGDX

¿Que es LibGDX? LibGDX es un framework escrito en java y C/C++  para el desarrollo de videojuegos, es multiplataforma (W[...]

Transición de imágenes al estilo PowerPoint

¿Qué es una transición? Una transición es un efecto de movimiento que se da entre una imagen y la siguiente en una prese[...]

Efecto Taringa! en vivo

En la pagina de Taringa, existe una sección donde se puede ver lo que pasa en ese foro al momento, «Taringa! en vivo» se[...]

Formulario de login personalizado

Hola, en este oportunidad dejo a disposición un formulario de logueo que se me ocurrió de repente creo inspirado en las[...]

Ejemplo RESTFul Webservice en Java

En este post construiremos un Servicio Web en Java bajo el estandar REST (Representational State Transfer), el cual hace[...]

Crear componente Switch de Android para Java Swing

En este post crearemos un componente que solo hay en android y que no esta disponible en la paleta de controles de Netbe[...]