Skip to content

Blob wars

Énoncé

Dans ce mini projet, on se propose d'implémenter une interface en mode texte pour le jeu Blob wars. Le jeu se joue à deux joueurs (les bleus et les rouges) sur un plateau de taille 8x8. Les cases sont numérotées de 0 à 63.

Le plateau contient des pions (également appelés blobs) bleus et rouges. On joue chacun son tour. À chaque tour le joueur courant choisit un de ses pions et le déplace. Tout pion peut se déplacer sur une case adjacente vide, y compris en diagonale, en se dupliquant et créant ainsi un nouveau pion de même couleur. Un pion peut également se déplacer de deux cases, c'est à dire max(∆ligne,∆colonne) = 2. Dans ce cas, il n'y a pas de duplication et on dit que le pion fait un "saut". Une fois arrivé sur sa destination un pion transforme tous les pions voisins de son adversaire en pions de sa propre couleur. Le jeu s’arrête dès qu’un joueur ne peut pas jouer. Le joueur ayant le plus de pion sur le plateau remporte alors la partie.

À titre d'exemple les deux images ci-dessous illustre un saut du pion bleu en case 32 vers la case 17.

blobwar 1

blobwar 2

L'objectif de ce TP consiste à implémenter une interface en mode texte Blob wars permettant à deux joueurs humains devant l'écran de jouer. La vidéo disponible ici donne un exemple du résultat attendu.

On réalisera deux versions du jeu. Dans la première, le plateau sera représenté par un tableau de 64 cases. Dans la seconde version, le plateau sera représenté uniquement par deux entiers de 64 bits, un pour les rouges et un pour les bleus. Chacun des 64 bits de l'entier rouge indique si un point rouge se trouve ou non sur la case dont l'indice correspond à la position du bit. Pareil pour l'entier bleu.

Exercices