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
|
||||
|
||||
def calcul_coord(x,y):
|
||||
"""
|
||||
calcule une nouvelle coordonnée
|
||||
@params void
|
||||
@return une nouvelle position
|
||||
"""
|
||||
|
||||
return y * DIM + x
|
||||
|
||||
|
||||
class Plateau:
|
||||
def __init__(self):
|
||||
"""
|
||||
constructor
|
||||
"""
|
||||
self.trous = [ [False] * DIM * DIM ] * 2 # Espace 7 × 7, deux fois pour
|
||||
# vertical et horizontal
|
||||
self.billes = [] # liste de tuples (x,y)
|
||||
|
@ -66,16 +75,33 @@ class Plateau:
|
|||
return self
|
||||
|
||||
def générer_tirettes():
|
||||
"""
|
||||
genere les tirettes
|
||||
@params void
|
||||
@return void
|
||||
|
||||
"""
|
||||
for orientation in range(2): # vertical et horizontal
|
||||
for i in range(DIM):
|
||||
self.tirettes[orientation][i] =
|
||||
Tirette(i+(orientation*DIM), self)
|
||||
|
||||
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)]
|
||||
|
||||
|
||||
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:
|
||||
if self.est_ce_un_trou(bille[0], bille[1]):
|
||||
self.billes.pop(bille)
|
||||
|
@ -84,6 +110,7 @@ class Plateau:
|
|||
class Tirette:
|
||||
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
|
||||
|
||||
|
@ -109,6 +136,11 @@ class Tirette:
|
|||
return self
|
||||
|
||||
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:
|
||||
return calcul_coord(self.numéro, offset - self.position)
|
||||
|
@ -117,6 +149,9 @@ class Tirette:
|
|||
|
||||
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 = tirette.position
|
||||
|
@ -138,10 +173,19 @@ class Tirette:
|
|||
|
||||
class Joueur:
|
||||
def __init__(self, plateau):
|
||||
"""
|
||||
constructor
|
||||
"""
|
||||
self.plateau = plateau
|
||||
return self
|
||||
|
||||
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 (x,y) in self.plateau.billes:
|
||||
self.plateau.billes.append((x,y))
|
||||
|
|
Loading…
Reference in New Issue