aboutsummaryrefslogtreecommitdiffstats
path: root/minesweeper/cell.py
diff options
context:
space:
mode:
Diffstat (limited to 'minesweeper/cell.py')
-rw-r--r--minesweeper/cell.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/minesweeper/cell.py b/minesweeper/cell.py
new file mode 100644
index 0000000..8c7481b
--- /dev/null
+++ b/minesweeper/cell.py
@@ -0,0 +1,50 @@
1from random import randint
2
3
4class Cell:
5 def __init__(self, chance):
6 self._value = None
7
8 if randint(0, 99) < chance:
9 self.is_mine = True
10 else:
11 self.is_mine = False
12
13 self.covered = True
14 self.cover = '#'
15
16 @property
17 def value(self):
18 return self._value
19
20 @value.setter
21 def value(self, value):
22 if value == 0:
23 self._value = ' '
24 else:
25 self._value = str(value)
26
27 @property
28 def visible_value(self):
29 if self.covered:
30 return self.cover
31 else:
32 return self.value
33
34 @property
35 def safe(self):
36 if self.cover == 'F':
37 return True
38 else:
39 return False
40
41 def uncover(self):
42 self.covered = False
43
44 def toggle_flag(self):
45 if self.cover == '#':
46 self.cover = 'F'
47 elif self.cover == 'F':
48 self.cover = '#'
49
50# vim: set ts=8 sw=4 tw=0 et :