]> git.armaanb.net Git - lightcards.git/blob - lightcards/deck.py
Fix pickle implementation
[lightcards.git] / lightcards / deck.py
1 # Classes pertaining to the card deck
2 # Armaan Bhojwani 2021
3
4
5 class Card:
6     """Class containing the card information."""
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 __str__(self):
19         return f"{self.front}, {self.back}"
20
21     def unStar(self):
22         self.starred = False
23
24     def star(self):
25         self.starred = True
26
27     def toggleStar(self):
28         if self.starred:
29             self.starred = False
30         else:
31             self.starred = True
32
33     def getStar(self):
34         return self.starred
35
36     def printStar(self):
37         if self.starred:
38             return "★ Starred ★"
39         else:
40             return "Not starred"
41
42     def setSide(self, inp):
43         self.side = inp
44
45     def getSide(self):
46         return self.side
47
48     def get(self):
49         if self.side == 0:
50             return self.front
51         else:
52             return self.back
53
54     def getFront(self):
55         return self.front
56
57     def flip(self):
58         if self.side == 0:
59             self.side = 1
60         else:
61             self.side = 0
62
63
64 class Status:
65     """Keeps track of where in the deck the user is"""
66
67     def __init__(self):
68         self.index = 0
69
70     def forward(self, stack):
71         if self.index != len(stack):
72             self.index += 1
73
74     def back(self):
75         if not self.index < 1:
76             self.index -= 1
77
78     def setIdx(self, inp):
79         self.index = inp
80
81     def getIdx(self):
82         return self.index