def test_fin_de_partie(): p=creer_plateau(4) print("PLATEAU 4 POUR FONCTION FIN_DE_PARTIE") p["cases"]=[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] afficher_plateau(p) assert fin_de_partie(p)==True # Prouve que la partie se termine car plus d'actions possible p=creer_plateau(6) print("PLATEAU 6 POUR FONCTION FIN_DE_PARTIE") afficher_plateau(p) assert fin_de_partie(p)==False # Prouve que l'un des joueurs peut toujours jouer p=creer_plateau(8) print("PLATEAU 8 POUR FONCTION FIN_DE_PARTIE") set_case(p,4,4,1) set_case(p,3,3,1) # On transforme les pions blancs en pions noirs afficher_plateau(p) assert fin_de_partie(p)==True # Les joueurs ne peuvent pas jouer, donc la partie se termine
def test_mouvement_valide(): p=creer_plateau(4) print("PLATEAU 4 POUR FONCTION MOUVEMENT_VALIDE") afficher_plateau(p) assert mouvement_valide(p,0,1,1)==True # True car un pion noir peut être placé en (0,1) pour retourner un pion blanc assert mouvement_valide(p,0,0,1)==False # False car un pion noir ne peut pas être placé en (0,0) pour retourner un pion blanc p=creer_plateau(6) print("PLATEAU 6 POUR FONCTION MOUVEMENT_VALIDE") afficher_plateau(p) assert mouvement_valide(p,1,3,1)==False # False car un pion noir ne peut pas être placé en (0,0) pour retourner un pion blanc assert mouvement_valide(p,3,1,2)==True # True car un pion blanc peut être placé en (0,1) pour retourner un pion noir p=creer_plateau(8) print("PLATEAU 8 POUR FONCTION MOUVEMENT_VALIDE") afficher_plateau(p) assert mouvement_valide(p,5,4,2)==False # False car un pion blanc ne peut pas être placé en (5,4) pour retourner un pion noir assert mouvement_valide(p,5,4,1)==True # True car un pion noir peut être placé en (5,4) pour retourner un pion blanc
def test_prise_possible_direction(): p = creer_plateau(4) print("PLATEAU 4 POUR FONCTION PRISE_POSSIBLE_DIRECTION") afficher_plateau(p) assert prise_possible_direction(p,2,3,0,-1,1)==True # True car le pion noir (2,3) peut manger un pion blanc (2,2) assert prise_possible_direction(p,1,3,0,-1,1)==False # False car le pion noir (1,3) fera face à un autre pion noir (1,2) p = creer_plateau(6) print("PLATEAU 6 POUR FONCTION PRISE_POSSIBLE_DIRECTION") afficher_plateau(p) assert prise_possible_direction(p,2,1,1,0,1)==False # False car la direction du pion (2,1) mène vers une case vide assert prise_possible_direction(p,1,2,1,0,1)==True # True car le pion noir (1,2) peut manger un pion blanc (2,2) p = creer_plateau(8) print("PLATEAU 8 POUR FONCTION PRISE_POSSIBLE_DIRECTION") afficher_plateau(p) assert prise_possible_direction(p,3,2,0,1,1)==True # True car le pion noir (3,2) peut manger un pion blanc (3,3) assert prise_possible_direction(p,2,4,1,0,2)==True # True car le pion blanc (2,4) peut manger un pion blanc (3,4)
def test_gagnant(): p=creer_plateau(4) p["cases"]=[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] print("PLATEAU 4 POUR FONCTION GAGNANT") afficher_plateau(p) assert gagnant(p)==2 # Retourne True car le joueur 2 a plus de points que le joueur 1 assert (gagnant(p)==1)==False # Retourne False car le joueur 2 a plus de points que le joueur 1 p=creer_plateau(6) print("PLATEAU 6 POUR FONCTION GAGNANT") afficher_plateau(p) assert (gagnant(p)==0)==True # Retourne True car il s'agit d'une égalité assert (gagnant(p)==2)==False # Retourne False car il s'agit d'une égalité p=creer_plateau(8) print("PLATEAU 8 POUR FONCTION GAGNANT") set_case(p,4,4,1) set_case(p,3,3,1) # On remplace les pions blancs par des pions noirs afficher_plateau(p) assert gagnant(p)==1 # Retourne True car le joueur 1 a plus de points que le joueur 2 assert (gagnant(p)==2)==False # Retourne False car le joueur 1 a plus de points que le joueur 2
def test_joueur_peut_jouer(): p=creer_plateau(4) p["cases"]=[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] print("PLATEAU 4 POUR FONCTION JOUEUR_PEUT_JOUER") afficher_plateau(p) assert joueur_peut_jouer(p,1)==False # Le joueur ne peut pas jouer car toutes les cases sont remplies assert joueur_peut_jouer(p,2)==False # Le joueur ne peut pas jouer car toutes les cases sont remplies p=creer_plateau(6) print("PLATEAU 6 POUR FONCTION JOUEUR_PEUT_JOUER") afficher_plateau(p) assert joueur_peut_jouer(p,1) # Le joueur 1 peut encore jouer assert joueur_peut_jouer(p,2) # Le joueur 2 peut encore jouer p=creer_plateau(8) set_case(p,3,3,1) # On transforme les pions blancs en pions noirs set_case(p,4,4,1) print("PLATEAU 8 POUR FONCTION JOUEUR_PEUT_JOUER") afficher_plateau(p) assert joueur_peut_jouer(p,2)==False # Le joueur ne peut pas jouer car les pions sont tous d'une seule et même couleur assert joueur_peut_jouer(p,1)==False # Le joueur ne peut pas jouer car les pions sont tous d'une seule et même couleur
def test_mouvement(): p=creer_plateau(4) print("PLATEAU 4 POUR FONCTION MOUVEMENT") mouvement(p,3,2,1) # On mange le pion en (2,2) et on place un pion (3,2) afficher_plateau(p) assert get_case(p,2,2)==1 # Le pion mangé est bien noir assert not get_case(p,2,2)==2 # Le pion mangé est noir donc cela est faux p=creer_plateau(6) print("PLATEAU 6 POUR FONCTION MOUVEMENT") mouvement(p,4,2,2) # On mange le pion en (3,2) et on place un pion (4,2) afficher_plateau(p) assert get_case(p,3,2)==2 # Le pion mangé est bien blanc assert not get_case(p,4,2)==1 # Le pion mangé est blanc donc cela est faux p=creer_plateau(8) print("PLATEAU 8 POUR FONCTION MOUVEMENT") mouvement(p,2,3,1) # On mange le pion en (3,3) et on place un pion (2,3) afficher_plateau(p) assert get_case(p,2,3)==1 # Le pion qu'on a inséré est bien noir assert not get_case(p,3,3)==2 # Le pion qu'on a retourné n'est plus noir mais blanc
def test_mouvement_direction(): p=creer_plateau(4) mouvement_direction(p,0,2,1,0,2) # On mange le pion blanc placé en (1,2) print("PLATEAU 4 POUR FONCTION MOUVEMENT_DIRECTION") afficher_plateau(p) assert get_case(p,2,1)==1 # La valeur de la case (2,1) est 1 assert not get_case(p,0,0)==2 # La valeur de la case (2,2) est 0 p=creer_plateau(6) mouvement_direction(p,4,2,-1,0,2) # On mange le pion noir placé en (3,2) print("PLATEAU 6 POUR FONCTION MOUVEMENT_DIRECTION") afficher_plateau(p) assert get_case(p,3,2)==2 # La valeur de la case (3,2) est 2 assert not get_case(p,3,2)==1 # La valeur de la case (3,2) est 2 p=creer_plateau(8) mouvement_direction(p,4,2,0,1,2) # On mange le pion blanc placé en (4,3) print("PLATEAU 8 POUR FONCTION MOUVEMENT_DIRECTION") afficher_plateau(p) assert get_case(p,4,3)==2 # La valeur de la case (4,3) est 2 assert not get_case(p,4,3)==1 # La valeur de la case (4,3) est 2