laneya

multiplayer roguelike game
git clone https://git.ce9e.org/laneya.git

commit
4fffeb094f09fd766ee0cd43eba0dec3db0e4d4c
parent
5b2866e99f5da53b0855908aa673633150c951cf
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2014-10-12 15:07
Fixup

Diffstat

M laneya/server.py 35 ++++++++++++++---------------------

1 files changed, 14 insertions, 21 deletions


diff --git a/laneya/server.py b/laneya/server.py

@@ -19,7 +19,7 @@ class Server(protocol.ServerProtocolFactory):
   19    19     def __init__(self):
   20    20         protocol.ServerProtocolFactory.__init__(self)
   21    21         self.users = {}
   22    -1         self.movable_layer = [[False for i in xrange(100)]for i in xrange(100)]
   -1    22         self.movable_layer = [[None for i in xrange(100)] for i in xrange(100)]
   23    23 
   24    24     def requestReceived(self, user, action, **kwargs):  # TODO
   25    25         if user not in self.users:
@@ -37,24 +37,13 @@ class Server(protocol.ServerProtocolFactory):
   37    37     def mainloop(self):
   38    38         for key, user in self.users.iteritems():
   39    39             if user.direction == 'north':
   40    -1                 if collision_check(user.position_x, user.position_y-1):
   41    -1                     self.movable_layer[user.position_x][user.position_y] = False
   42    -1                     user.position_y -= 1
   43    -1                     self.movable_layer[user.position_x][user.position_y] = user
   44    -1                 else:
   45    -1                     raise protocol.IllegalError
   -1    40                 self.move_user(user, 0, -1)
   46    41             elif user.direction == 'east':
   47    -1                 # self.movable_layer[user.position_x][user.position_y] = False
   48    -1                 user.position_x += 1
   49    -1                 # self.movable_layer[user.position_x][user.position_y] = user
   -1    42                 self.move_user(user, 1, 0)
   50    43             elif user.direction == 'south':
   51    -1                 # self.movable_layer[user.position_x][user.position_y] = False
   52    -1                 user.position_y += 1
   53    -1                 # self.movable_layer[user.position_x][user.position_y] = user
   -1    44                 self.move_user(user, 0, 1)
   54    45             elif user.direction == 'west':
   55    -1                 # self.movable_layer[user.position_x][user.position_y] = False
   56    -1                 user.position_x -= 1
   57    -1                 # self.movable_layer[user.position_x][user.position_y] = user
   -1    46                 self.move_user(user, -1, 0)
   58    47             if user.direction != 'stop':
   59    48                 self.broadcastUpdate(
   60    49                     'position',
@@ -63,12 +52,16 @@ class Server(protocol.ServerProtocolFactory):
   63    52                     entity=key)
   64    53 
   65    54     def collision_check(self, new_x, new_y):
   66    -1         if self.movable_layer[newx][new_y] == False:
   67    -1             return True
   -1    55         return self.movable_layer[new_x][new_y] is None
   -1    56 
   -1    57     def move_user(self, user, dx, dy):
   -1    58         if self.collision_check(user.position_x, user.position_y - 1):
   -1    59             self.movable_layer[user.position_x][user.position_y] = None
   -1    60             user.position_x += dx
   -1    61             user.position_y += dy
   -1    62             self.movable_layer[user.position_x][user.position_y] = user
   68    63         else:
   69    -1             return False
   70    -1 
   71    -1 #  def move_user()
   -1    64             raise protocol.IllegalError
   72    65 
   73    66 
   74    67 def main():