-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsoldier.py
70 lines (53 loc) · 1.58 KB
/
soldier.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
class Soldier(object):
def __init__(self, degree, position_x, position_y, color):
self._degree = degree
self._position_x = position_x
self._position_y = position_y
self._color = color
self._is_alive = True
self._show_me = False
self._has_moved = False
@property
def degree(self):
return self._degree
@property
def position(self):
return self._position_x, self._position_y
@property
def x(self):
return self._position_x
@property
def y(self):
return self._position_y
@property
def color(self):
return self._color
@property
def is_alive(self):
return self._is_alive
@property
def show_me(self):
return self._show_me
@property
def has_moved(self):
return self._has_moved
def set_position(self, position_x, position_y):
self._position_x = position_x
self._position_y = position_y
def set_x(self, position_x):
self._position_x = position_x
def set_y(self, position_y):
self._position_y = position_y
def kill_me(self):
self._is_alive = False
def set_show_me(self):
self._show_me = True
def set_has_moved(self):
self._has_moved = True
def store(self):
return self._position_x, self._position_y, self._is_alive, self._show_me
def restore(self, stored_info):
self._position_x = stored_info[0]
self._position_y = stored_info[1]
self._is_alive = stored_info[2]
self._show_me = stored_info[3]