nsi:tds:pygame:candycrush:main
Ceci est une ancienne révision du document !
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172
Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149
Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Principal
import pygame
from random import choice
from item import Item
clock = pygame.time.Clock()
LARGEUR = 750
HAUTEUR = 500
screen = pygame.display.set_mode((LARGEUR, HAUTEUR))
pygame.display.set_caption("Candy-crush like")
sprites = pygame.sprite.Group()
for i in range(10):
for j in range(10):
y = i*Item.SIZE
x = j*Item.SIZE
family = choice(['banane', 'cerise', 'orange'])
new_item = Item(x, y, family)
sprites.add(new_item)
running = True
while running:
clock.tick(60)
screen.fill((0,0,0))
sprites.draw(screen)
for event in pygame.event.get():
if event.type == pygame.QUIT: # fermeture fenêtre
running = False
pygame.display.flip()
pygame.quit()
Commentaires :
- ligne 2: la fonction
choicedu modulerandompermet de choisir au hasard dans une liste. - ligne 11:
screendésigne le fond de l'écran, la zone de dessin. - ligne 13: définit le titre de la fenêtre de jeu.
- ligne 15: pygame invite à gérer les sprites plutôt par groupes. On prévoit donc un groupe pour contenir tous les items.
- lignes 17-23: On crée une grille de 10×10 items. Ils seront tous identiques. Vous pouvez voir que l'on exploite
Item.SIZEpour 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àFalsequand 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.
clockpermet de fixer la vitesse de la boucle. Ici on choisit 60 pour 60 rafraichissement par seconde. - ligne 28: À chaque boucle, on efface la totalité de l'écran. Ici on le remplit (
fill) en noir ((0,0,0)) - ligne 29: le groupe a une méthode
drawqui lui fera afficher l'ensemble des items. - ligne 31: on détecte les événements (souris, clavier…) pour y répondre. Pour l'instant, nous ne sommes sensible qu'à une pression sur la croix dans le coin de la fenêtre. Cela déclenche la fermeture de la fenêtre.
- ligne 35: met à jour l'affichage.
- ligne 37: si on sort de la boucle, pygame termine.
nsi/tds/pygame/candycrush/main.1699369822.txt.gz · Dernière modification : de goupillwiki
