Structure du jeu

Le langage que nous avons utilisé pour la programmation est Python. De plus nous nous sommes servi du module Pygame pour gérer les animations.
Voici le lien direct pour le programme Pythonwin : Download Pythonwin
Et le lien pour le module Pygame : Download Pygame
Le code est divisé en plusieures parties:

  • Une classe pour les blocs
  • Une classe pour la grille de jeu
  • Diverses fonctions
  • La construction de la fenêtre
  • La fonction principale
  • La boucle de jeu
  • Une classe pour les blocs

    Tout d'abord nous avons défini les paramètres généraux (comme son état par exemple) des pièces grâce à la méthode constructeur.
    Nous avons défini la position de départ de la pièce par rapport à une grille de 12x23 en nous servant d'une liste contenant la position des 4 carrés.
    Par la suite nous avons assigné l'image spécifique à la pièce, sa marque et son type (orange, bleu ...)
    Après nous avons assigné différentes méthodes à cette classe, comme l'affichage, les déplacements (gauche, droite, bas) et les rotations.
    Pour cette dernière nous avons pris en compte les différents états dans lesquels peuvent se trouver les pièces.

    Une classe pour la grille de jeu

    Ici aussi nous avons d'abord utilisé la méthode constructeur pour définir l'espace de jeu. Pour cela nous avons crée une liste contenant 23 listes, chacune étant composée de 12 fois le chiffre 0.
    Par la suite nous avons fixé une méthode pour afficher la grille, pour y ajouter un bloc et pour voir si une ligne est remplie (et si c'est le cas la supprimer et faire descendre les lignes au-dessus d'un).

    Diverses fonctions

    Nous avons mis en place une fonction gérant les collisions. Pour cela nous avons distingué 3 types de collisions:

  • Suite à un mouvement vers la gauche
  • Suite à un mouvement vers la droite
  • Suite à un mouvement vers le bas
  • Puis nous avons défini des fonctions pour la musique de jeu, pour l'écran de départ et pour la fenêtre.

    La construction de la fenêtre

    Par la suite nous avons fixé la taille de la fenêtre, choisi la police, crée des boutons, chargé des images, de la musique et des effets, mis en place une liste avec les différents blocs et finalement crée des compteurs.

    La fonction principale

    Ici nous avons géré le nombre d'images par seconde (60), les entrées de l'utilisateur (souris et clavier), les différents levels, la mise en place d'un compteur de lignes... Mais le plus important est le déplacement des pièces et l'utilisation des méthodes mises en place.

    La boucle de jeu

    Nous chargeons l'écran de départ et la fonction principale.

    Fehlmann Tobias de Wijn Raphael