-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmaze.py
More file actions
103 lines (94 loc) · 3.12 KB
/
Copy pathmaze.py
File metadata and controls
103 lines (94 loc) · 3.12 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
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#! python3
import json
import requests
class Game:
def __init__(self, server_url, uid):
action = '/session'
data = {'uid': uid}
session = requests.Session()
res = session.post(url=server_url+action, data=data).json()
self.token = res['token']
self.server_url = server_url
def get_state(self):
action = '/game'
params = {'token': self.token}
session = requests.Session()
res = session.get(url=self.server_url+action, params=params).json()
self.size = res['maze_size']
self.maxX = self.size[0]
self.maxY = self.size[1]
self.location = res['current_location']
self.currX = self.location[0]
self.currY = self.location[1]
self.status = res['status']
self.completedLevels = res['levels_completed']
self.totalLevels = res['total_levels']
def get_result(self, move):
action = '/game'
data = {'action': move}
params = {'token': self.token}
session = requests.Session()
res = session.post(url=self.server_url+action, params=params, data=data).json()
return res['result']
def solveMaze(y, x):
maze[y][x] = '*' #mark current location
if((x != playMaze.maxX - 1) and (maze[y][x+1] != '*')): #East
moveRes = playMaze.get_result('RIGHT')
if(moveRes == 'WALL'):
maze[y][x+1] = '*'
elif(moveRes == 'SUCCESS'):
solveMaze(y, x+1)
playMaze.get_result('LEFT')
elif(moveRes == 'END'):
playMaze.completedLevels+=1
print('You finished maze ' + str(playMaze.completedLevels) + '!')
if(playMaze.completedLevels == playMaze.totalLevels):
print('You have finished all the levels!')
quit()
quit()
if((y != playMaze.maxY - 1) and (maze[y+1][x] != '*')): #South
moveRes = playMaze.get_result('DOWN')
if(moveRes == 'WALL'):
maze[y+1][x] = '*'
elif(moveRes == 'SUCCESS'):
solveMaze(y+1, x)
playMaze.get_result('UP')
elif(moveRes == 'END'):
playMaze.completedLevels+=1
print('You finished maze ' + str(playMaze.completedLevels) + '!')
if(playMaze.completedLevels == playMaze.totalLevels):
print('You have finished all the levels!')
quit()
quit()
if((x != 0) and (maze[y][x-1] != '*')): #West
moveRes = playMaze.get_result('LEFT')
if(moveRes == 'WALL'):
maze[y][x-1] = '*'
elif(moveRes == 'SUCCESS'):
solveMaze(y, x-1)
playMaze.get_result('RIGHT')
elif(moveRes == 'END'):
playMaze.completedLevels+=1
print('You finished maze ' + str(playMaze.completedLevels) + '!')
if(playMaze.completedLevels == playMaze.totalLevels):
print('You have finished all the levels!')
quit()
quit()
if((y != 0) and (maze[y-1][x] != '*')): #North
moveRes = playMaze.get_result('UP')
if(moveRes == 'WALL'):
maze[y-1][x] = '*'
elif(moveRes == 'SUCCESS'):
solveMaze(y-1, x)
playMaze.get_result('DOWN')
elif(moveRes == 'END'):
playMaze.completedLevels+=1
print('You finished maze ' + str(playMaze.completedLevels) + '!')
if(playMaze.completedLevels == playMaze.totalLevels):
print('You have finished all the levels!')
quit()
quit()
playMaze = Game('http://ec2-34-216-8-43.us-west-2.compute.amazonaws.com', 304917430)
playMaze.get_state()
maze = [[' '] * playMaze.maxX for i in range(playMaze.maxY)]
solveMaze(playMaze.currY, playMaze.currX)