]> git.armaanb.net Git - lightcards.git/blob - lightcards/deck.py
Comment and clean code
[lightcards.git] / lightcards / deck.py
1 # Classes pertaining to the card deck
2 # Armaan Bhojwani 2021
3
4 class Card(list):
5     """Card extends the list class, and adds ability to star them."""
6     def __init__(self, inp):
7         super().__init__(inp)
8         self.starred = False
9
10     def unStar(self):
11         self.starred = False
12
13     def star(self):
14         self.starred = True
15
16     def toggleStar(self):
17         if self.starred:
18             self.starred = False
19         else:
20             self.starred = True
21
22     def getStar(self):
23         return self.starred
24
25     def printStar(self):
26         if self.starred:
27             return "★ Starred ★"
28         else:
29             return "Not starred"
30
31
32 class Status():
33     """The status class keeps track of where in the deck the user is"""
34     def __init__(self):
35         self.index = 0
36         self.side = 0
37
38     def forward(self, stack):
39         if not self.index == len(stack):
40             self.index += 1
41
42     def back(self):
43         if not self.index < 1:
44             self.index -= 1
45
46     def flip(self):
47         if self.side == 0:
48             self.side = 1
49         else:
50             self.side = 0
51
52     def setSide(self, inp):
53         self.side = inp
54
55     def setIdx(self, inp):
56         self.index = inp
57
58     def getSide(self):
59         return self.side
60
61     def getIdx(self):
62         return self.index