-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLine.py
More file actions
54 lines (41 loc) · 1.44 KB
/
Line.py
File metadata and controls
54 lines (41 loc) · 1.44 KB
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
class Player:
HUMAN = 1
COMPUTER = 2
NONE = 3
class Position:
TOP = 1
RIGHT = 2
BOTTOM = 3
LEFT = 4
#Représente une ligne d'un carré, un carré possède 4 lignes.
class Line:
def __init__(self,box,position):
self.__player = Player.NONE
self.__hovered = False
self.__box = box
self.__position = position
def isHorizontal(self):
return self.getPosition() == Position.TOP or self.getPosition() == Position.BOTTOM
def getPlayer(self):
return self.__player
def setPaintedBy(self,player,isDoublon):
self.__player = player
self.getBox().tryToFillBy(player)
#Si c'est pas un doublon, on enlève de la liste des lignes dispos cette ligne
if not isDoublon:
x = self.getBox().x + 1 if self.getPosition() == Position.RIGHT else self.getBox().x
y = self.getBox().y + 1 if self.getPosition() == Position.BOTTOM else self.getBox().y
self.getBox().getBoard().noLongerAvailableLine(x,y,self.isHorizontal())
def isPainted(self) -> object:
return self.__player != Player.NONE
def isHovered(self):
return self.__hovered
def setHover(self,hover):
self.__hovered=hover
def getPosition(self):
return self.__position
def getBox(self):
return self.__box
#Fonction en plus pour faciliter la copie du jeu
def setPlayer(self,player):
self.__player = player