game.py: docstrings
This commit is contained in:
parent
e2e60d4d28
commit
b22050a89f
44
game.py
44
game.py
|
@ -51,11 +51,20 @@ VERTICAL = 0
|
||||||
HORIZONTAL = 1
|
HORIZONTAL = 1
|
||||||
|
|
||||||
def calcul_coord(x,y):
|
def calcul_coord(x,y):
|
||||||
|
"""
|
||||||
|
calcule une nouvelle coordonnée
|
||||||
|
@params void
|
||||||
|
@return une nouvelle position
|
||||||
|
"""
|
||||||
|
|
||||||
return y * DIM + x
|
return y * DIM + x
|
||||||
|
|
||||||
|
|
||||||
class Plateau:
|
class Plateau:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
"""
|
||||||
|
constructor
|
||||||
|
"""
|
||||||
self.trous = [ [False] * DIM * DIM ] * 2 # Espace 7 × 7, deux fois pour
|
self.trous = [ [False] * DIM * DIM ] * 2 # Espace 7 × 7, deux fois pour
|
||||||
# vertical et horizontal
|
# vertical et horizontal
|
||||||
self.billes = [] # liste de tuples (x,y)
|
self.billes = [] # liste de tuples (x,y)
|
||||||
|
@ -66,16 +75,33 @@ class Plateau:
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def générer_tirettes():
|
def générer_tirettes():
|
||||||
|
"""
|
||||||
|
genere les tirettes
|
||||||
|
@params void
|
||||||
|
@return void
|
||||||
|
|
||||||
|
"""
|
||||||
for orientation in range(2): # vertical et horizontal
|
for orientation in range(2): # vertical et horizontal
|
||||||
for i in range(DIM):
|
for i in range(DIM):
|
||||||
self.tirettes[orientation][i] =
|
self.tirettes[orientation][i] =
|
||||||
Tirette(i+(orientation*DIM), self)
|
Tirette(i+(orientation*DIM), self)
|
||||||
|
|
||||||
def est_ce_un_trou(self,x,y):
|
def est_ce_un_trou(self,x,y):
|
||||||
|
"""
|
||||||
|
la methode renvoie True si c'est un Trou , False sinon
|
||||||
|
@params x l'abscisse et y l'ordonnée
|
||||||
|
@return boolean
|
||||||
|
"""
|
||||||
return self.trous[calcul_coord(x,y)]
|
return self.trous[calcul_coord(x,y)]
|
||||||
|
|
||||||
|
|
||||||
def mise_à_jour(self):
|
def mise_à_jour(self):
|
||||||
|
"""
|
||||||
|
la methode enleve le tuple de coordonnées (x,y) correspondant a la bille dans la liste self.billes
|
||||||
|
si il y a un trou a ces coordonnées
|
||||||
|
@params self
|
||||||
|
@return void
|
||||||
|
"""
|
||||||
for bille in self.billes:
|
for bille in self.billes:
|
||||||
if self.est_ce_un_trou(bille[0], bille[1]):
|
if self.est_ce_un_trou(bille[0], bille[1]):
|
||||||
self.billes.pop(bille)
|
self.billes.pop(bille)
|
||||||
|
@ -84,6 +110,7 @@ class Plateau:
|
||||||
class Tirette:
|
class Tirette:
|
||||||
def __init__(self, numéro, plateau, orientation=random.randint(0,1), trous=[]):
|
def __init__(self, numéro, plateau, orientation=random.randint(0,1), trous=[]):
|
||||||
"""
|
"""
|
||||||
|
Constructor
|
||||||
"""
|
"""
|
||||||
self.numéro = numéro # définit son placement dans l'espace
|
self.numéro = numéro # définit son placement dans l'espace
|
||||||
|
|
||||||
|
@ -109,6 +136,11 @@ class Tirette:
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def calcul_pos(self, offset):
|
def calcul_pos(self, offset):
|
||||||
|
"""
|
||||||
|
la methode calcule les coordonnées de la tirette selon l'orientation de la tirette
|
||||||
|
@params offset
|
||||||
|
@return coordonnées
|
||||||
|
"""
|
||||||
|
|
||||||
if self.orientation == VERTICAL:
|
if self.orientation == VERTICAL:
|
||||||
return calcul_coord(self.numéro, offset - self.position)
|
return calcul_coord(self.numéro, offset - self.position)
|
||||||
|
@ -117,6 +149,9 @@ class Tirette:
|
||||||
|
|
||||||
def déplacer(self, nouvelle_position):
|
def déplacer(self, nouvelle_position):
|
||||||
"""
|
"""
|
||||||
|
La methode enleve le trou d'origine et rajoute un trou lorsqu'on déplace la Tirette
|
||||||
|
@params nouvelle_position
|
||||||
|
@return boolean
|
||||||
"""
|
"""
|
||||||
# Ancienne position de la tirette
|
# Ancienne position de la tirette
|
||||||
ancienne_position = tirette.position
|
ancienne_position = tirette.position
|
||||||
|
@ -138,10 +173,19 @@ class Tirette:
|
||||||
|
|
||||||
class Joueur:
|
class Joueur:
|
||||||
def __init__(self, plateau):
|
def __init__(self, plateau):
|
||||||
|
"""
|
||||||
|
constructor
|
||||||
|
"""
|
||||||
self.plateau = plateau
|
self.plateau = plateau
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def placer_bille(self, x, y):
|
def placer_bille(self, x, y):
|
||||||
|
"""
|
||||||
|
la methode verifie si il n'y a pas de trou et de billes aux coordonnées du tuple (x,y)
|
||||||
|
@params (x,y) coordonnées
|
||||||
|
@return boolean
|
||||||
|
|
||||||
|
"""
|
||||||
if not self.plateau.est_ce_un_trou(x,y):
|
if not self.plateau.est_ce_un_trou(x,y):
|
||||||
if not (x,y) in self.plateau.billes:
|
if not (x,y) in self.plateau.billes:
|
||||||
self.plateau.billes.append((x,y))
|
self.plateau.billes.append((x,y))
|
||||||
|
|
Loading…
Reference in New Issue