forked from wboag/Obstacles
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstate.py
More file actions
executable file
·44 lines (33 loc) · 1.02 KB
/
state.py
File metadata and controls
executable file
·44 lines (33 loc) · 1.02 KB
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
####
#
# State
# Jake Kinsman
# 11/28/2014
#
####
#file tested
class state(object):
def __init__(self, position, terrain):#position = (0, 9), terrain = None):
self.position = position
self.terrain = terrain
self.terrainType = str(terrain)
def __repr__(self):
return "Position: " + str(self.position) + " " + "Terrain: " + self.terrainType
def __eq__(self, arg):
return arg.getPosition() == self.getPosition() and self.getWorld() == arg.getWorld()
def __hash__(self):
x,y = self.getPosition()
w = self.terrain.index
if x == float('inf'): return 1001
if y == float('inf'): return 1002
return 100*w + 10*y + x
def getWorld(self):
return self.terrain.index
def getState(self):
return [self.position, self.terrain]
def setPosition(self, position):
self.position = position
def getPosition(self):
return self.position
def getTerrainType(self):
return self.terrainType