Vous êtes sur la page 1sur 2

PROGRAMME JeuDeDames

FONCTION InitialiserPlateau():
plateau <- tableau 8x8 vide
POUR chaque case du plateau FAIRE
SI case est une case noire ALORS
SI rangée < 3 ALORS
plateau[case] <- "pion blanc"
SINON SI rangée > 4 ALORS
plateau[case] <- "pion noir"
SINON
plateau[case] <- "vide"
FIN SI
SINON
plateau[case] <- "vide"
FIN SI
FIN POUR
RETOURNER plateau

FONCTION AfficherPlateau(plateau):
POUR chaque rangée du plateau FAIRE
POUR chaque case de la rangée FAIRE
AFFICHER plateau[case]
FIN POUR
SAUT DE LIGNE
FIN POUR

FONCTION EstCoupValide(plateau, joueur, coup):


x1, y1 <- coup[0]
x2, y2 <- coup[1]
SI plateau[x1][y1] != joueur ALORS
RETOURNER FAUX
SINON SI plateau[x2][y2] != "vide" ALORS
RETOURNER FAUX
SINON SI (abs(x2 - x1) == 1 ET abs(y2 - y1) == 1) ALORS
RETOURNER VRAI
SINON SI (abs(x2 - x1) == 2 ET abs(y2 - y1) == 2) ALORS
x_mange, y_mange <- (x1 + x2) / 2, (y1 + y2) / 2
SI plateau[x_mange][y_mange] == ADVERSAIRE(joueur) ALORS
RETOURNER VRAI
SINON
RETOURNER FAUX
FIN SI
SINON
RETOURNER FAUX
FIN SI

FONCTION JouerCoup(plateau, joueur, coup):


x1, y1 <- coup[0]
x2, y2 <- coup[1]
plateau[x2][y2] <- plateau[x1][y1]
plateau[x1][y1] <- "vide"
SI abs(x2 - x1) == 2 ET abs(y2 - y1) == 2 ALORS
x_mange, y_mange <- (x1 + x2) / 2, (y1 + y2) / 2
plateau[x_mange][y_mange] <- "vide"

FONCTION ADVERSAIRE(joueur):
SI joueur == "pion blanc" ALORS
RETOURNER "pion noir"
SINON
RETOURNER "pion blanc"
FIN SI

FONCTION TourDeJeu(plateau, joueur):


coup_valide <- FAUX
TANT QUE NON coup_valide FAIRE
coup <- LIRE_COUP_DU_JOUEUR()
SI EstCoupValide(plateau, joueur, coup) ALORS
JouerCoup(plateau, joueur, coup)
coup_valide <- VRAI
SINON
AFFICHER "Coup invalide. Réessayez."
FIN SI
FIN TANT QUE

FONCTION PartieTerminee(plateau, joueur):


POUR chaque rangée du plateau FAIRE
POUR chaque case de la rangée FAIRE
SI plateau[case] == ADVERSAIRE(joueur) ALORS
RETOURNER FAUX
FIN SI
FIN POUR
FIN POUR
RETOURNER VRAI

FONCTION JeuDeDames():
plateau <- InitialiserPlateau()
joueur <- "pion blanc"
TANT QUE True FAIRE
AfficherPlateau(plateau)
TourDeJeu(plateau, joueur)
SI PartieTerminee(plateau, joueur) ALORS
AFFICHER "Le joueur " + joueur + " a gagné !"
ARRÊTER
FIN SI
SI joueur == "pion blanc" ALORS
joueur <- "pion noir"
SINON
joueur <- "pion blanc"
FIN SI

DÉBUT
JeuDeDames()
FIN

Vous aimerez peut-être aussi