Outils pour utilisateurs

Outils du site


nsi:tds:pygame:candycrush:main

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
nsi:tds:pygame:candycrush:main [2023/11/07 16:10] goupillwikinsi:tds:pygame:candycrush:main [2023/11/08 15:03] (Version actuelle) goupillwiki
Ligne 11: Ligne 11:
 LARGEUR = 750 LARGEUR = 750
 HAUTEUR = 500 HAUTEUR = 500
 +LINES = 10 
 +COLS = 10 
 + 
 screen = pygame.display.set_mode((LARGEUR, HAUTEUR)) screen = pygame.display.set_mode((LARGEUR, HAUTEUR))
 + 
 pygame.display.set_caption("Candy-crush like") pygame.display.set_caption("Candy-crush like")
    
 sprites = pygame.sprite.Group()  sprites = pygame.sprite.Group() 
- +  
-for in range(10): +for line in range(LINES): 
-    for in range(10): +    for col in range(COLS):
-        y = i*Item.SIZE +
-        x = j*Item.SIZE+
         family = choice(['banane', 'cerise', 'orange'])         family = choice(['banane', 'cerise', 'orange'])
-        new_item = Item(xy, family)+        new_item = Item(linecol, family)
         sprites.add(new_item)          sprites.add(new_item) 
 + 
 running = True running = True
 while running: while running:
     clock.tick(60)     clock.tick(60)
-    screen.fill((0,0,0))+    screen.fill((50,50,50))
     sprites.draw(screen)     sprites.draw(screen)
          
Ligne 43: Ligne 43:
 Commentaires : Commentaires :
   * ligne 2: la fonction ''choice'' du module ''random'' permet de choisir au hasard dans une liste.   * ligne 2: la fonction ''choice'' du module ''random'' permet de choisir au hasard dans une liste.
-  * ligne 11: ''screen'' désigne le fond de l'écran, la zone de dessin. +  * lignes 8-11: on précise la taille de la fenêtre et le nombre de lignes et colonnes désirées pour la grille de jeu. 
-  * ligne 13: définit le titre de la fenêtre de jeu. +  * ligne 13: ''screen'' désigne le fond de l'écran, la zone de dessin. 
-  * ligne 15: pygame invite à gérer les sprites plutôt par groupes. On prévoit donc un groupe pour contenir tous les items. +  * ligne 15: définit le titre de la fenêtre de jeu. 
-  * lignes 17-23: On crée une grille de 10x10 items. Ils seront tous identiques. Vous pouvez voir que l'on exploite ''Item.SIZE'' pour prévoir la taille de chaque case de la grille. Le choix du type d'item se fait au hasard. Dans ces lignes, on pense à ajouter le sprite créé dans le groupe.+  * ligne 17: pygame invite à gérer les sprites plutôt par groupes. On prévoit donc un groupe pour contenir tous les items. 
 +  * lignes 19-23: On crée une grille de 10x10 items. Ils seront tous identiques. Vous pouvez voir que l'on exploite ''Item.SIZE'' pour prévoir la taille de chaque case de la grille. Le choix du type d'item se fait au hasard. Dans ces lignes, on pense à ajouter le sprite créé dans le groupe.
   * lignes 25-26: pygame fonctionne avec une boucle qui se répète indéfiniment pour rafraichir l'affichage. Selon les événements détectés, l'affichage se modifiera. On fera passer ''running'' à ''False'' quand on voudra terminer la boucle.   * lignes 25-26: pygame fonctionne avec une boucle qui se répète indéfiniment pour rafraichir l'affichage. Selon les événements détectés, l'affichage se modifiera. On fera passer ''running'' à ''False'' quand on voudra terminer la boucle.
   * ligne 27: Les ordinateurs ne sont pas tous aussi puissant. Si on ne fait pas attention, le jeu risque de s'exécuter plus vite sur un ordinateur plus puissant. ''clock'' permet de fixer la vitesse de la boucle. Ici on choisit 60 pour 60 rafraichissement par seconde.   * ligne 27: Les ordinateurs ne sont pas tous aussi puissant. Si on ne fait pas attention, le jeu risque de s'exécuter plus vite sur un ordinateur plus puissant. ''clock'' permet de fixer la vitesse de la boucle. Ici on choisit 60 pour 60 rafraichissement par seconde.
nsi/tds/pygame/candycrush/main.1699369822.txt.gz · Dernière modification : de goupillwiki