Numéroter une case avec pygame

Signaler
-
 Alex -
Bonjour. Je voudrais faire un exercice avec pygame qui consiste à créer un système de numérotation de certaines cases créées sur la fenêtre. Voici ce que je demande:
-si la case est noire, je lui donne comme numéro 0
-si la case est blanche, je lui donne comme numéro 1
-Je met ensuite un nombre aléatoire entre 1 et 9 aux cases numérotés 0 et je leurs
donne une couleur selon son chifre.
J'ai déjà créé une petite grille, mais je n'arrive pas à aller plus loin dans les étapes.
voici le code:
import pygame, sys
pygame.init()
def grille():
    global case_nb, rectx, recty, rectx2
    for x in range(1, 7):
        pygame.draw.rect(screen, (0, 0, 0), (rectx, 0, 100, 700))
        rectx += 200
        while case_nb != 5:
            pygame.draw.rect(screen, (0, 0, 0), (rectx2, recty, 100, 100))
            recty += 200
            case_nb +=1
        case_nb = 0
        rectx2 += 200
        recty = 0
        case_nb += 1
        print(x)
    pygame.draw.rect(screen, (0, 0, 0), (rectx, recty, 100, 700))



screen = pygame.display.set_mode((700, 700))
case_nb = 0
rectx = 0
rectx2 = 100
recty = 0
running = True
screen.fill((255, 255, 255))
grille()
while running:
    pygame.display.flip()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

pygame.quit()
sys.exit()

si vous le voulez, vous pouvez simplifier mon code.

1 réponse

Messages postés
15233
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2021
834
bonjour, quelle est la prochaine étape que tu dois faire?
qu'as-tu essayé?
>
Messages postés
15233
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2021

pas grand chose, j'ai juste regardé sur internet mais je n'ai rien trouvé.
Messages postés
15233
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2021
834 > Alex
ne penses-tu pas que tu apprendrais mieux en faisant d'abord des exercices plus simples?
tu ne vas pas progresser si quelqu'un fait ce la à ta place.
>
Messages postés
15233
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2021

Je sais mais le problème est que je ne trouve pas de bon exercices. J'ai voulus faire celui ci car tout les autres étaient soit trop dur, soit trop facile.
Messages postés
15233
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2021
834 > Alex
peux-tu nous montrer quel est le programme le plus complexe que tu as réalisé?
>
Messages postés
15233
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2021

il sagit d'un programme qui consiste à créer des block de 5 pixels aléatoirement. la largeur de la fenêtre devait s'ajuster à la progression des block. C'est dur à expliquer alors je vous donne le code, vous pourrez le tester:
import pygame, sys, random
pygame.init()
def grille():
    global rectx, recty, random_color
    if random1 == 1:
        pygame.draw.rect(screen, random_color, (rectx, recty, 5, 5))
    if recty == 95:
        recty = 0
        rectx += 5
    else:
        recty += 5

width = 200
screen = pygame.display.set_mode((width, 100))
rectx = 0
recty = 0
fps = 800
random_color = (0, 0, 0)
random1 = 0
running = True
screen.fill((255, 255, 255))
clock = pygame.time.Clock()
while running:
    clock.tick(fps)
    if width < rectx:
        width += 1
        pygame.display.set_mode((width, 100))
    clock.tick(fps)
    random1 = random.randint(1, 10)
    grille()

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    pygame.display.flip()
pygame.quit()
sys.exit()

Je n'ai pas réussi à le finir à cause d'un problème d'affichage quand je change la taille de la fenêtre.