Projet Puissance-4 en assembleur MIPS
I. Introduction
L'assembleur MIPS est basé sur une architecture registre-registre ne pouvant travailler que sur des données dans le banc de registres. Principalement utilisé dans les consoles de jeux vidéo, nous avons illustré ses principes fondamentaux à travers l'implémentation du jeu Puissance-4.
II. Puissance-4
1. Règles du jeu
Jeu de stratégie pour 2 joueurs se déroulant sur une grille de 6 lignes × 7 colonnes.
Mécaniques :
- Chaque joueur dispose de 21 jetons d'une couleur
- Tour par tour, les joueurs placent un jeton dans une colonne
- Le jeton tombe à la position la plus basse disponible
- Victoire en alignant 4 jetons consécutifs (horizontal, vertical ou diagonal)
- Match nul si la grille est remplie sans alignement
2. Personnalisation du jeu
À partir d'un code de base fourni par les enseignants, nous avons ajouté des fonctionnalités pour :
- Améliorer l'expérience utilisateur
- Rendre le jeu plus dynamique et original
III. Structure du programme
Organisation du travail
- Recherches individuelles sur les différentes parties
- Mise en commun et sélection des solutions optimales
- Répartition des tâches :
-
Setayesh :
- Gestion du relancement du jeu (
PlayerWon
) - Calcul des positions des jetons (
UpdateRecord
)
- Gestion du relancement du jeu (
-
King :
- Vérification des victoires (
WinCheck
) - Implémentation du choix des couleurs
- Vérification des victoires (
-
Setayesh :
Fonctions clés
Fonction | Description |
---|---|
UpdateRecord |
Détermine la position exacte du jeton et met à jour l'état du jeu. Vérifie : validité de la colonne (1-7), prochaine ligne vide, ajout du numéro du joueur |
WinCheck |
Vérifie les alignements gagnants (horizontal, vertical, diagonal) et l'état de la grille |
GameTie |
Gère les matchs nuls et propose de relancer une partie |
IV. Conclusion
Bilan
Projet enrichissant nécessitant :
- Des recherches préalables approfondies
- Une collaboration étroite pour résoudre les défis techniques
Difficultés rencontrées
- Réinitialisation du plateau pour une nouvelle partie
- Calcul précis des positions des jetons
Solutions trouvées grâce à une approche collaborative et méthodique.
Réalisé par :
Seyedehsetayesh GHAMAT et King Lau