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

Multiplicación de matrices

En matemática, la multiplicación o producto de matrices es la operación de composición efectuada entre dos matrices, o b[...]

Generador de código para Netbeans

El IDE Netbeans al igual que Eclipse :), nos permite personalizar el espacio de trabajo y añadir funcionalidades que nos[...]

Creación y uso de parametros en Jaspersoft Studio

Hola 🙂 En este video tutorial veremos como crear y usar parámetros en reportes con JasperSoft Studio, la base de datos q[...]

TextToSpeech: Convierte texto a voz

TextToSpeech o TTS, es el sintetizador de voz para android, en los celulares inteligentes viene un motor TTS por defecto[...]

Contar segundos (Problema Resuelto)

El problema dice asi: Se desea contar los segundos que se presiona un JButton en un formulario. Solución: Para resolver[...]

Elimina el fondo de tus fotografías en 5 segundos

Si te gusta realizar tus propios memes o foto montajes pero tienes poca o nula experiencia en editores gráficos como Pho[...]