forked from james-gray/nagini
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconsume.py
49 lines (46 loc) · 1.51 KB
/
consume.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
def food70( gameData):
foodScanMax = 200
head = getHead(gameData)[0]
x_head = head[0]
y_head = head[1]
if(x_head <foodScanMax):
x_min = 0
else:
x_min = x_head - foodScanMax
if(y_head <foodScanMax):
y_min = 0
else:
y_min = y_head - foodScanMax
if(x_head + foodScanMax > gameData["width"]):
x_max = gameData["width"]
else:
x_max = x_head + foodScanMax
if(y_head + foodScanMax > gameData["height"]):
y_max = 0
else:
y_max = y_head + foodScanMax
for i in range (x_min, x_max):
for j in range(y_min, y_max):
if gameData["gameBoard"][i][j] == "F":
variance = fabs(x_head - i) + fabs(y_head - j)
if (variance <= foodScanMax):
if(fabs(x_head - i) >= fabs(y_head - j)):
if (x_head - i < 0):
if gameData['gameBoard'][x_head-1][y_head] == "E":
return "west"
else:
if gameData['gameBoard'][x_head+1][y_head] == "E":
return "east"
if(fabs(x_head - i) <= fabs(y_head - j)):
if (x_head - j < 0):
if gameData['gameBoard'][x_head][y_head-1] == "E":
return "north"
else:
if gameData['gameBoard'][x_head][y_head+1] == "E":
return "south"
return
def getHead(gameData):
snakes = gameData ["snakes"]
for i in range(len(snakes)):
if snakes[i]["id"] == "2daa46ee-4880-4285-8572-eeaf52dba551":
return snakes[i]["coords"][0],snakes[i]["coords"][1]