Disegna tratti di linea casuali
Utilizza la funzione per una linea con antialising tra due punti: pygame.draw.aaline()
import random # randint()
import pygame
WIDTH =800 # Larghezza
HEIGHT=450 # Altezza
SPAZIO=25 # Cornice vuota
FRAME =30 # Aggiornamenti al secondo
XMIN =SPAZIO
XMAX =WIDTH-SPAZIO
YMIN =SPAZIO
YMAX =HEIGHT-SPAZIO
ANCORA=True
pygame.init()
screen=pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Linee casuali")
clock=pygame.time.Clock()
while ANCORA:
# Gestione degli eventi
for ev in pygame.event.get():
if(ev.type == pygame.QUIT):
ANCORA = False
# Una coppia di punti casuali
x1=random.randint(XMIN, XMAX)
y1=random.randint(YMIN, YMAX)
x2=random.randint(XMIN, XMAX)
y2=random.randint(YMIN, YMAX)
# Un colore casuale
red =random.randint(0, 255)
green=random.randint(0, 255)
blue =random.randint(0, 255)
penna=(red, green, blue)
# Aggiorna la finestra
pygame.draw.aaline(screen, penna, (x1,y1), (x2,y2))
pygame.display.flip()
clock.tick(FRAME)
pygame.quit()
Con 3 punti casuali e la funzione pygame.draw.polygon()
si genera un triangolo
import random # randint()
import pygame
WIDTH =800 # Larghezza
HEIGHT=450 # Altezza
SPAZIO=25 # Cornice vuota
FRAME =30 # Aggiornamenti al secondo
XMIN=SPAZIO
XMAX=WIDTH-SPAZIO
YMIN=SPAZIO
YMAX=HEIGHT-SPAZIO
pygame.init()
screen=pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Triangoli casuali")
clock=pygame.time.Clock()
ANCORA=True
while ANCORA:
# Gestione degli eventi
for ev in pygame.event.get():
if(ev.type == pygame.QUIT):
ANCORA = False
# Genera 3 punti casuali
x1=random.randint(XMIN, XMAX)
y1=random.randint(YMIN, YMAX)
x2=random.randint(XMIN, XMAX)
y2=random.randint(YMIN, YMAX)
x3=random.randint(XMIN, XMAX)
y3=random.randint(YMIN, YMAX)
# Genera un colore casuale
red =random.randint(0, 255)
green=random.randint(0, 255)
blue =random.randint(0, 255)
penna=(red, green, blue)
# Aggiorna
pygame.draw.polygon(screen, penna, ((x1,y1), (x2,y2), (x3, y3)))
pygame.display.flip()
clock.tick(FRAME)
pygame.quit()
Con 2 punti casuali (combinati opportunamente…) e la funzione pygame.draw.rect()
si genera un rettangolo
import random # randint()
import pygame
WIDTH =800 # Larghezza
HEIGHT=450 # Altezza
SPAZIO=25 # Cornice vuota
FRAME =30 # Aggiornamenti al secondo
XMIN=SPAZIO
XMAX=WIDTH-SPAZIO
YMIN=SPAZIO
YMAX=HEIGHT-SPAZIO
pygame.init()
screen=pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Rettangoli casuali")
clock=pygame.time.Clock()
ANCORA=True
while ANCORA:
# Gestione degli eventi
for ev in pygame.event.get():
if(ev.type == pygame.QUIT):
ANCORA = False
# Genera 2 punti casuali "intelligenti"
x1=random.randint(XMIN, XMAX)
y1=random.randint(YMIN, YMAX)
x2=random.randint(XMIN, XMAX)
y2=random.randint(YMIN, YMAX)
x1,x2 = min(x1, x2), max(x1, x2)
y1,y2 = min(y1, y2), max(y1, y2)
# Genera un colore casuale
red =random.randint(0, 255)
green=random.randint(0, 255)
blue =random.randint(0, 255)
penna=(red, green, blue)
# Aggiorna
pygame.draw.rect(screen, penna, (x1,y1, x2-x1, y2-y1))
pygame.display.flip()
clock.tick(FRAME)
pygame.quit()