2. Puissance 4

Puissance 4 est un jeu de stratégie combinatoire abstrait, commercialisé pour la première fois en 1974 par la Milton Bradley Company.

Le but du jeu est d’aligner une suite de 4 pions de même couleur sur une grille comptant 6 rangées et 7 colonnes.

puissance4

Tour à tour, les deux joueurs placent un pion dans la colonne de leur choix, le pion coulisse alors jusqu’à la position la plus basse possible dans ladite colonne à la suite de laquelle c’est à l’adversaire de jouer. Le vainqueur est le joueur qui réalise le premier un alignement (horizontal, vertical ou diagonal) consécutif d’au moins quatre pions de sa couleur.

2.1. Version console

Nous commençons la programmation avec une représentation du jeu. De nouveau nous choisissons un tableau 2D. Les entrés ont la signification suivante :

  • 0 - la case est vide

  • 1 - la case contient un pion du joueur 1

  • 2 - la case contient un pion du joueur 2

2.2. Alterner les tours

Le jeu peut continuer pour un maximum de 42 tours.

2.3. Parcourir en ligne

Par rapport aux coordonnes (x, y) de la tortue, l’ordre des indices (i, j) d’un tableau est inversé. Les matrices 2D en mathématique utilisent cette convention :

  • indice de ligne i désigne la direction y

  • indice de colonne j désigne la direction x

La deuxième différence est la position de l’origine :

  • l’origine du tableau (0, 0) est en haut à gauche

  • l’origine de l’image (x0, y0) est en bas à gauche

Donc, la direction de y et i est inversée. Nous en tenons compte dans la fonction pos(i, j).

y = y0 + (n - 1 - i) * d

2.4. Parcourir en colonne

Nous allons parcourir colonne par colonne.

  • indice de ligne i désigne la direction y

  • indice de colonne j désigne la direction x

2.5. Parcourir en diagonale

Nous allons parcourir le tableau en diagonale. Combien de diagonales avons-nous ?

Dans un tableau n fois m nous avons n + m - 1 diagonales. Nous allons utiliser la variable d’itération k pour désigner une diagonale.

  • indice de ligne i désigne la direction y

  • indice de colonne j désigne la direction x

2.6. L’autre diagonale

2.7. Puissance 4

Voici un début d’une version graphique. Essayez de compléter le jeu.