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:
return 'Tablette de chocolat de ' + str(self.m) + 'x' + str(self.n)
# __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):
'''
renvoie un générateur des coups possibles
......@@ -56,7 +64,17 @@ class TabletteChocolat:
taille_coupe = -1
while not coup in ['l', 'c']:
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) ? '))
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':
print('voici les coups possibles : ', ', '.join(str(i) + ' lignes' for i in range(1, self.n)))
while not 1 <= taille_coupe <= self.n-1:
......@@ -65,10 +83,18 @@ class TabletteChocolat:
if coup == 'c':
print('voici les coups possibles : ', ', '.join(str(i) + ' colonnes' for i in range(1, self.m)))
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))
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)
B = TabletteChocolat(4, 8)
print(A)
......@@ -79,5 +105,6 @@ print(B.est_possible((3, 0)))
print(B.est_possible((3, 2)))
print(B.coupe((0, 5)))
print(B.coupe((2, 0)))
B.plot()
B.demander_coup().plot()
#B.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