Skip to content
Snippets Groups Projects
Commit fc3bfbe9 authored by BiocheH's avatar BiocheH
Browse files

ajout de la fction jouer + deux trois modifs de demander_coup

parent de79c4ae
No related branches found
No related tags found
No related merge requests found
...@@ -18,6 +18,14 @@ class TabletteChocolat: ...@@ -18,6 +18,14 @@ class TabletteChocolat:
return 'Tablette de chocolat de ' + str(self.m) + 'x' + str(self.n) return 'Tablette de chocolat de ' + str(self.m) + 'x' + str(self.n)
# __repr__ n'est pas surchargé car à priori dans notre cas __str__ suffit # __repr__ n'est pas surchargé car à priori dans notre cas __str__ suffit
def __getitem__(self, item) -> int:
if item == 0:
return self.m
elif item == 1:
return self.n
else :
raise IndexError('can only take 0 or 1 as argument')
def coups_possibles(self): def coups_possibles(self):
''' '''
renvoie un générateur des coups possibles renvoie un générateur des coups possibles
...@@ -56,7 +64,17 @@ class TabletteChocolat: ...@@ -56,7 +64,17 @@ class TabletteChocolat:
taille_coupe = -1 taille_coupe = -1
while not coup in ['l', 'c']: while not coup in ['l', 'c']:
print('il faut choisir quoi couper :') print('il faut choisir quoi couper :')
if self.m > 1 and self.n > 1:
coup = str(input('Couper des lignes (l) ou des colonnes (c) ? ')) coup = str(input('Couper des lignes (l) ou des colonnes (c) ? '))
elif self.m == 1 and self.n == 1:
print('on ne peut couper plus rien couper')
return self
elif self.m == 1:
coup = 'l'
print('on ne peut couper plus que des lignes')
elif self.n == 1:
coup = 'c'
print('on ne peut couper plus que des colonnes')
if coup == 'l': if coup == 'l':
print('voici les coups possibles : ', ', '.join(str(i) + ' lignes' for i in range(1, self.n))) print('voici les coups possibles : ', ', '.join(str(i) + ' lignes' for i in range(1, self.n)))
while not 1 <= taille_coupe <= self.n-1: while not 1 <= taille_coupe <= self.n-1:
...@@ -65,10 +83,18 @@ class TabletteChocolat: ...@@ -65,10 +83,18 @@ class TabletteChocolat:
if coup == 'c': if coup == 'c':
print('voici les coups possibles : ', ', '.join(str(i) + ' colonnes' for i in range(1, self.m))) print('voici les coups possibles : ', ', '.join(str(i) + ' colonnes' for i in range(1, self.m)))
while not 1 <= taille_coupe <= self.m-1: while not 1 <= taille_coupe <= self.m-1:
taille_coupe = int(input('combien de lignes couper ? ')) taille_coupe = int(input('combien de colonnes couper ? '))
return self.coupe((taille_coupe, 0)) return self.coupe((taille_coupe, 0))
def jouer(m: int, n: int):
plateau = TabletteChocolat(m, n)
while not (plateau[0] == 1 and plateau[1] == 1):
plateau.plot()
plateau = plateau.demander_coup()
print('Game Over !')
A = TabletteChocolat(1, 2) A = TabletteChocolat(1, 2)
B = TabletteChocolat(4, 8) B = TabletteChocolat(4, 8)
print(A) print(A)
...@@ -79,5 +105,6 @@ print(B.est_possible((3, 0))) ...@@ -79,5 +105,6 @@ print(B.est_possible((3, 0)))
print(B.est_possible((3, 2))) print(B.est_possible((3, 2)))
print(B.coupe((0, 5))) print(B.coupe((0, 5)))
print(B.coupe((2, 0))) print(B.coupe((2, 0)))
B.plot() #B.plot()
B.demander_coup().plot() #B.demander_coup().plot()
jouer(5, 5)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment