-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmorpion speudo code.py
157 lines (141 loc) · 8.76 KB
/
morpion speudo code.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#importer la fonction random
#import random
#faire une fonction morpionVide qui crée une table de morpion de 9cases avec comme parametres tab et longueur
#pour i allant de 0 a longeur
#ajouter à la liste tab une liste de chaine vide multiplié par la longueur de tab
#faire une fonction afficherMorpion affiche le tableeau de morpion a jour avec comme parametres tab et longueur
#pour k allant de 0 jusqu'a la longueur du tableau
#afficher le tableau d'indice k
#faire une fonction trouverCoord qui renvoie les coordonnees x et y avec comme parametre choix
#si choix est egale a "1"
#alors assigner x a 0
#assigner y a 0
#retourner x et y
#sinon si choix est egale a "2"
#alors assigner x a 0
#assigner y a 1
#retourner x et y
#sinon si choix est egale a "3"
#alors assigner x a 0
#assigner y a 2
#retourner x et y
#sinon si choix est egale a "4"
#alors assigner x a 1
#assigner y a 0
#retourner x et y
#sinon si choix est egale a "5"
#alors assigner x a 1
#assigner y a 1
#retourner x et y
#sinon si choix est egale a "6"
#alors assigner x a 1
#assigner y a 2
#retourner x et y
#sinon si choix est egale a "7"
#alors assigner x a 2
#assigner y a 0
#retourner x et y
#sinon si choix est egale a "8"
#alors assigner x a 2
#assigner y a 1
#retourner x et y
#sinon si choix est egale a "9"
#alors assigner x a 2
#assigner y a 2
#retourner x et y
#sinon
#alors retourner ValuesError
#faire une fonction iswin qui renvoie les coordonnees x et y avec comme parametre tab ,xchoix et ychoix
#si ychoix est egale a 0
#si le retour de la fontion tab avec comme parametre xchoix et ychoix+1 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre xchoix et ychoix+2 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#sinon si ychoix est egale a 1
#si le retour de la fontion tab avec comme parametre xchoix et ychoix-1 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre xchoix et ychoix+1 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#sinon si ychoix est egale a 2
#si le retour de la fontion tab avec comme parametre xchoix et ychoix-2 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre xchoix et ychoix-1 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#si xchoix est egale a 0
#si le retour de la fontion tab avec comme parametre xchoix+1 et ychoix est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre xchoix+2 et ychoix est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#sinon si xchoix est egale a 1
#si le retour de la fontion tab avec comme parametre xchoix-1 et ychoix est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre xchoix+1 et ychoix est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#sinon si xchoix est egale a 2
#si le retour de la fontion tab avec comme parametre xchoix-2 et ychoix est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre xchoix-1 et ychoix est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#si xchoix est egale a 1 et ychoix est egale a 1
#si le retour de la fontion tab avec comme parametre 0 et 0 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre 2 et 2 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#sinon si le retour de la fontion tab avec comme parametre 0 et 2 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
# et le retour de la fontion tab avec comme parametre 2 et 0 est egale au retour de la fonction tab avec comme parametre xchoix et ychoix
#retourner le retour de la fontion tab avec comme parametre xchoix et ychoix
#initalise la variable WinCpu a False
#initalise la variable winUser a False
#initalise la variable isFirst a True
#initalise la variable countTour a 0
#initialise la liste tab vide
#executer la fonction afficherMorpion avec comme parametre tab et 3
#assigner à alea, un nombre entre 1 et 2
#si alea est egale a 1
#afficher "tu joue en premier"
#sinon
#alors afficher "tu joues en deuxime"
#assigner isFirst a False
#afficher "tu joues les X"
#tant que WinCpu et winUser sont egaux a faux
#si isFirst est different de False
#afficher "a ton tour"
#assigner à choix, le str du retour de la fonction input avec comme parametre "entrer une case (entre 1 et 9)"
#tant que le retour de la fonction trouverCoord avec comme parametre choix est egale a ValueError
#afficher "erreur: entrez un caractere numerique entre 1 et 9"
#assigner à choix, le str du retour de la fonction input avec comme parametre "entrer une case (entre 1 et 9)"
#assigner à x et y le retour de la fonction trouverCoord avec comme parametre choix
#tant que le retour de la fonction tab avec comme parametre x et y est egale a 'X' ou que le retour de la fonction
# tab avec comme parametre x et y est egale a 'O' ou que le retour de la fonction trouverCoord avec comme parametre choix est egale a ValueError
#afficher "erreur: entrez un chiffre entre 1 et 9 non utilisé"
#assigner à choix, le str du retour de la fonction input avec comme parametre "entrer une case (entre 1 et 9)"
#assigner à x et y le retour de la fonction trouverCoord avec comme parametre choix
#assigner à la liste tab a l'indice [x][y] 'X'
#afficher la concatenation de "tu as joué sur la case" et la varaiable choix
##executer la fonction afficherMorpion avec comme parametre tab et 3
#incrementer la variable countTour de 1
#si le retour de la fonction isWin avec comme parametre tab, x et y est egale a 'X'
#changer winUser en True
#afficher "bravo, tu as gagné"
#sortir de la boucle
#sinon
#si countTour est inferieur ou egale a 9
#alors afficher "egalité"
#sortir de la boucle
#sinon
#changer isFirst a true
#afficher "au tour de l'IA"
#assigner à choixCPU, le str du retour de la fonction randint avec comme parametre 1 et 9
#assigner à x et y le retour de la fonction trouverCoord avec comme parametre choixCPU
#tant que
#tant que le retour de la fonction tab avec comme parametre x et y est egale a 'X' ou que le retour de la fonction
# tab avec comme parametre x et y est egale a 'O' ou que le retour de la fonction trouverCoord avec comme parametre choix est egale a ValueError
#assigner à choixCPU, le str du retour de la fonction randint avec comme parametre 1 et 9
#assigner à x et y le retour de la fonction trouverCoord avec comme parametre choixCPU
#assigner à la liste tab a l'indice [x][y] 'O'
#afficher la concatenation de "le CPU a joué sur la case " et choix
##executer la fonction afficherMorpion avec comme parametre tab et 3
#incrementer la variable countTour de 1
#si le retour de la fonction isWin avec comme parametre tab , x et y est egale a '0'
#changer la variable winCpu en true
#afficher "Dommage, tu as perdu\n"
#sortir de la boucle
#sinon
#si countTour est superieur ou egale a 9
#afficher "egalité"
#sortir de la boucle
#afficher la concatenation de "Fin du tour numero " et du str de countTour
#afficher "fin de partie"