Numéroter une case avec pygame

Fermé
Alex - Modifié le 7 avril 2021 à 18:32
 Alex - 7 avril 2021 à 22:10
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

yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
7 avril 2021 à 19:21
bonjour, quelle est la prochaine étape que tu dois faire?
qu'as-tu essayé?
0
j'ai seulement marqué les étapes que je n'ai pas réussi à faire. J'ai d'abord essayé de trouver un code qui permet de différencier les couleurs mais ce fut sans exploit. J'ai ensuite pensé à mettre les cases blanches dans un groupe mais je ne sais pas trop comment m'y prendre. pour ce qui est de donner un nombre aléatoire et de lui affecter une couleur, je pense savoir comment faire grâce au module random.
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > Alex
7 avril 2021 à 20:30
commençons alors par
si la case est noire, je lui donne comme numéro 0
.
comment sais-tu si une case est noire?
0
Alex > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
7 avril 2021 à 20:36
il faudrait vérifier son code couleur, si la case a comme couleur (0, 0, 0) alors elle est noir et donc je lui donne comme numéro.
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > Alex
7 avril 2021 à 20:51
qu'as-tu essayé pour vérifier son code couleur?
0
Alex > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
7 avril 2021 à 20:53
pas grand chose, j'ai juste regardé sur internet mais je n'ai rien trouvé.
0