-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmoveList.py
41 lines (34 loc) · 962 Bytes
/
moveList.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
import copy
class MoveList(object):
def __init__(self):
self.move_list = { }
self._iter_index = 0
def __iter__(self):
for m in self.move_list.keys():
yield (m, self.move_list[m])
def __str__(self):
for m in self.move_list.keys():
yield (m, self.move_list[m])
def clone(self):
deep_tmp = MoveList()
deep_tmp.move_list = copy.deepcopy(self.move_list)
return deep_tmp
def to_string(self):
for m in self.move_list.keys():
for k in self.move_list[m]:
print ("1: " + str(m) + " 2: " + str(k))
def push(self, arg_1, arg_2):
if(arg_1 not in self.move_list):
if(arg_2 in self.move_list):
if(arg_1 in self.move_list[arg_2]):
return
else:
self.move_list[arg_1] = set()
else:
self.move_list[arg_1] = set()
self.move_list[arg_1].add(arg_2)
def does_move_exist(self, move_made):
if move_made[0] in self.move_list:
if move_made[1] in self.move_list[move_made[0]]:
return True
return False