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