import sys P1 = "1" P2 = "2" P3 = "3" P4 = "4" P5 = "5" P6 = "6" P7 = "7" P8 = "8" P9 = "9" grid = " {} | {} | {}\n ___|___|___\n {} | {} | {}\n ___|___|___\n {} | {} | {}\n | |" print(grid.format(P1, P2, P3, P4, P5, P6, P7, P8, P9)) X = "\033[16;1mX\033[m".format() O = "\033[16;4mO\033[m".format() def check_victory(P1, P2, P3, P4, P5, P6, P7, P8, P9): gagne1 = "\033[1;16mJoueur 1\033[m a gagné !".format() gagne2 = "\033[4;16mJoueur 2\033[m a gagné !".format() if P1 == X and P2 == X and P3 == X or P4 == X and P5 == X and P6 == X or P7 == X and P8 == X and P9 == X or P1 == X and P4 == X and P7 == X or P2 == X and P5 == X and P8 == X or P3 == X and P6 == X and P9 == X or P1 == X and P5 == X and P9 == X or P3 == X and P5 == X and P7 == X: print(gagne1) sys.exit() elif P1 == O and P2 == O and P3 == O or P4 == O and P5 == O and P6 == O or P7 == O and P8 == O and P9 == O or P1 == O and P4 == O and P7 == O or P2 == O and P5 == O and P8 == O or P3 == O and P6 == O and P9 == O or P1 == O and P5 == O and P9 == O or P3 == O and P5 == O and P7 == O: print(gagne2) sys.exit() if P1 != '1' and P2 != '2' and P3 != '3' and P4 != '4' and P5 != '5' and P6 != '6' and P7 != '7' and P8 != '8' and P9 != '9': print("Oh non ! c'est une égalité...") sys.exit() for i in range(4): while True: J1 = str(input("\033[1;16mJoueur 1\033[m, où veux-tu placer ton {} (ex:1)".format(X))) if J1 != '1' and J1 != '2' and J1 != '3' and J1 != '4' and J1 != '5' and J1 != '6' and J1 != '7' and J1 != '8' and J1 != '9': print("/!\\ La position choisie est invalide. Merci de reéssayer.") continue elif J1 == "1" and P1 == "1": P1 = (X) break elif J1 == "2" and P2 == "2": P2 = (X) break elif J1 == "3" and P3 == "3": P3 = (X) break elif J1 == "4" and P4 == "4": P4 = (X) break elif J1 == "5" and P5 == "5": P5 = (X) break elif J1 == "6" and P6 == "6": P6 = (X) break elif J1 == "7" and P7 == "7": P7 = (X) break elif J1 == "8" and P8 == "8": P8 = (X) break elif J1 == "9" and P9 == "9": P9 = (X) break grid = " {} | {} | {}\n ___|___|___\n {} | {} | {}\n ___|___|___\n {} | {} | {}\n | |" print(grid.format(P1, P2, P3, P4, P5, P6, P7, P8, P9)) check_victory(P1, P2, P3, P4, P5, P6, P7, P8, P9) while True: J2 = str(input("\033[4;16mJoueur 2\033[m, où veux-tu placer ton {} (ex:1)".format(O))) if J2 != '1' and J2 != '2' and J2 != '3' and J2 != '4' and J2 != '5' and J2 != '6' and J2 != '7' and J2 != '8' and J2 != '9': print("/!\\ La position choisie est invalide. Merci de reéssayer.") continue elif J2 == "1" and P1 == "1": P1 = (O) break elif J2 == "2" and P2 == "2": P2 = (O) break elif J2 == "3" and P3 == "3": P3 = (O) break elif J2 == "4" and P4 == "4": P4 = (O) break elif J2 == "5" and P5 == "5": P5 = (O) break elif J2 == "6" and P6 == "6": P6 = (O) break elif J2 == "7" and P7 == "7": P7 = (O) break elif J2 == "8" and P8 == "8": P8 = (O) break elif J2 == "9" and P9 == "9": P9 = (O) break print(grid.format(P1, P2, P3, P4, P5, P6, P7, P8, P9)) check_victory(P1, P2, P3, P4, P5, P6, P7, P8, P9) while True: J1 = str(input("\033[1;16mJoueur 1\033[m, où veux-tu placer ton {} (ex:1)".format(X))) if J1 != '1' and J1 != '2' and J1 != '3' and J1 != '4' and J1 != '5' and J1 != '6' and J1 != '7' and J1 != '8' and J1 != '9': print("/!\\ La position choisie est invalide. Merci de reéssayer.") continue elif J1 == "1" and P1 == "1": P1 = (X) break elif J1 == "2" and P2 == "2": P2 = (X) break elif J1 == "3" and P3 == "3": P3 = (X) break elif J1 == "4" and P4 == "4": P4 = (X) break elif J1 == "5" and P5 == "5": P5 = (X) break elif J1 == "6" and P6 == "6": P6 = (X) break elif J1 == "7" and P7 == "7": P7 = (X) break elif J1 == "8" and P8 == "8": P8 = (X) break elif J1 == "9" and P9 == "9": P9 = (X) break print(grid.format(P1, P2, P3, P4, P5, P6, P7, P8, P9)) check_victory(P1, P2, P3, P4, P5, P6, P7, P8, P9)