- commit
- 5b2866e99f5da53b0855908aa673633150c951cf
- parent
- 0da161497db53cfc5d89d2744c1df4ec01df2032
- Author
- radow <masteroftheriddles@googlemail.com>
- Date
- 2014-10-12 14:17
Introduce collision
Diffstat
| M | laneya/server.py | 22 | +++++++++++++++++++++- |
1 files changed, 21 insertions, 1 deletions
diff --git a/laneya/server.py b/laneya/server.py
@@ -19,6 +19,7 @@ class Server(protocol.ServerProtocolFactory): 19 19 def __init__(self): 20 20 protocol.ServerProtocolFactory.__init__(self) 21 21 self.users = {} -1 22 self.movable_layer = [[False for i in xrange(100)]for i in xrange(100)] 22 23 23 24 def requestReceived(self, user, action, **kwargs): # TODO 24 25 if user not in self.users: @@ -36,13 +37,24 @@ class Server(protocol.ServerProtocolFactory): 36 37 def mainloop(self): 37 38 for key, user in self.users.iteritems(): 38 39 if user.direction == 'north':39 -1 user.position_y -= 1-1 40 if collision_check(user.position_x, user.position_y-1): -1 41 self.movable_layer[user.position_x][user.position_y] = False -1 42 user.position_y -= 1 -1 43 self.movable_layer[user.position_x][user.position_y] = user -1 44 else: -1 45 raise protocol.IllegalError 40 46 elif user.direction == 'east': -1 47 # self.movable_layer[user.position_x][user.position_y] = False 41 48 user.position_x += 1 -1 49 # self.movable_layer[user.position_x][user.position_y] = user 42 50 elif user.direction == 'south': -1 51 # self.movable_layer[user.position_x][user.position_y] = False 43 52 user.position_y += 1 -1 53 # self.movable_layer[user.position_x][user.position_y] = user 44 54 elif user.direction == 'west': -1 55 # self.movable_layer[user.position_x][user.position_y] = False 45 56 user.position_x -= 1 -1 57 # self.movable_layer[user.position_x][user.position_y] = user 46 58 if user.direction != 'stop': 47 59 self.broadcastUpdate( 48 60 'position', @@ -50,6 +62,14 @@ class Server(protocol.ServerProtocolFactory): 50 62 y=user.position_y, 51 63 entity=key) 52 64 -1 65 def collision_check(self, new_x, new_y): -1 66 if self.movable_layer[newx][new_y] == False: -1 67 return True -1 68 else: -1 69 return False -1 70 -1 71 # def move_user() -1 72 53 73 54 74 def main(): 55 75 log.startLogging(sys.stdout)