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:
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.
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).
Nous avons mis en place une fonction gérant les collisions. Pour cela nous avons distingué 3 types de collisions:
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.
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.
Nous chargeons l'écran de départ et la fonction principale.