]> git.armaanb.net Git - lightcards.git/blob - lightcards/deck.py
Change flip cards option to a view
[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 printStar(self):
34         if self.starred:
35             return "★ Starred ★"
36         else:
37             return "Not starred"
38
39     def get(self):
40         if self.side == 0:
41             return (self.front, self.back)
42         else:
43             return (self.back, self.front)
44
45     def flip(self):
46         if self.side == 0:
47             self.side = 1
48         else:
49             self.side = 0
50
51
52 class Status:
53     """Keeps track of where in the deck the user is"""
54
55     def __init__(self):
56         self.index = 0
57         self.side = 0
58
59     def forward(self, stack):
60         if self.index != len(stack):
61             self.index += 1
62
63     def back(self):
64         if not self.index < 1:
65             self.index -= 1
66
67     def get_reverse(self):
68         if self.side == 0:
69             return 1
70         else:
71             return 0