laneya

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

commit
a3a3a4c9b057e17cf5f30e5e46403f979f58bd05
parent
94d705f49a24f735a1365131043ab08d83e133be
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2014-10-18 08:32
switch from camelCase to underscores

Diffstat

M laneya/client.py 6 +++---
M laneya/protocol.py 84 ++++++++++++++++++++++++++++++------------------------------
M laneya/server.py 4 ++--

3 files changed, 47 insertions, 47 deletions


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

@@ -17,7 +17,7 @@ class Client(protocol.ClientProtocolFactory):
   17    17         self.position_x = 0
   18    18         self.position_y = 0
   19    19 
   20    -1     def updateReceived(self, action, **kwargs):  # TODO
   -1    20     def update_received(self, action, **kwargs):  # TODO
   21    21         if action == 'position':
   22    22             screen.delch(self.position_y, self.position_x)
   23    23             self.position_x = kwargs['x']
@@ -26,7 +26,7 @@ class Client(protocol.ClientProtocolFactory):
   26    26         screen.refresh()
   27    27 
   28    28     def move(self, direction):
   29    -1         return self.sendRequest('move', direction=direction)
   -1    29         return self.send_request('move', direction=direction)
   30    30 
   31    31     def mainloop(self):  # TODO
   32    32         for event in screen.get_key_events():
@@ -39,7 +39,7 @@ class Client(protocol.ClientProtocolFactory):
   39    39             elif event['key'] == ord('h'):
   40    40                 self.move('west' if event['type'] == 'keydown' else 'stop')
   41    41             elif event['key'] == ord('q'):
   42    -1                 self.sendRequest('logout')
   -1    42                 self.send_request('logout')
   43    43                 screen.cleanup()
   44    44                 reactor.stop()
   45    45 

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

@@ -95,14 +95,14 @@ def generate_key():
   95    95 class JSONProtocol(NetstringReceiver):
   96    96     """Send and receive JSON objects."""
   97    97 
   98    -1     def jsonReceived(self, data):
   -1    98     def json_received(self, data):
   99    99         raise NotImplementedError
  100   100 
  101    -1     def stringReceived(self, s):
  102    -1         return self.jsonReceived(json.loads(s))
   -1   101     def string_received(self, s):
   -1   102         return self.json_received(json.loads(s))
  103   103 
  104    -1     def sendJSON(self, data):
  105    -1         return self.sendString(json.dumps(data))
   -1   104     def send_json(self, data):
   -1   105         return self.send_string(json.dumps(data))
  106   106 
  107   107 
  108   108 class BaseProtocol(JSONProtocol):
@@ -127,34 +127,34 @@ class ServerProtocol(BaseProtocol):
  127   127     def __init__(self, factory):
  128   128         self.factory = factory
  129   129 
  130    -1     def connectionMade(self):
   -1   130     def connection_made(self, transport):
  131   131         self.factory.connections.append(self)
  132   132 
  133    -1     def connectionLost(self, reason):
   -1   133     def connection_lost(self, reason):
  134   134         self.factory.connections.remove(self)
  135   135 
  136    -1     def _requestReceived(self, key, user, action, **data):
   -1   136     def _request_received(self, key, user, action, **data):
  137   137         try:
  138    -1             response = self.factory.requestReceived(user, action, **data)
   -1   138             response = self.factory.request_received(user, action, **data)
  139   139         except InvalidError as err:
  140    -1             return self._sendResponse(key, 'invalid', message=str(err))
   -1   140             return self._send_response(key, 'invalid', message=str(err))
  141   141         except IllegalError as err:
  142    -1             return self._sendResponse(key, 'illegal', message=str(err))
   -1   142             return self._send_response(key, 'illegal', message=str(err))
  143   143         except Exception as err:
  144   144             log.err(err)
  145    -1             return self._sendResponse(key, 'internal', message=str(err))
   -1   145             return self._send_response(key, 'internal', message=str(err))
  146   146 
  147   147         if response is None:
  148   148             response = {}
  149   149 
  150    -1         return self._sendResponse(key, 'success', **response)
   -1   150         return self._send_response(key, 'success', **response)
  151   151 
  152    -1     def jsonReceived(self, message):
   -1   152     def json_received(self, message):
  153   153         if message['type'] == 'request':
  154   154             self.validate_message(
  155   155                 message, ['action', 'data', 'key', 'type', 'user'])
  156   156             self.validate_action(message['action'], message['data'])
  157    -1             self._requestReceived(
   -1   157             self._request_received(
  158   158                 message['key'],
  159   159                 message['user'],
  160   160                 message['action'],
@@ -162,22 +162,22 @@ class ServerProtocol(BaseProtocol):
  162   162         else:
  163   163             log.err('Message type not known: %s' % message['type'])
  164   164 
  165    -1     def _sendResponse(self, key, status, **kwargs):
   -1   165     def _send_response(self, key, status, **kwargs):
  166   166         data = {
  167   167             'type': 'response',
  168   168             'key': key,
  169   169             'status': status,
  170   170             'data': kwargs,
  171   171         }
  172    -1         self.sendJSON(data)
   -1   172         self.send_json(data)
  173   173 
  174    -1     def _sendUpdate(self, action, **kwargs):
   -1   174     def _send_update(self, action, **kwargs):
  175   175         data = {
  176   176             'type': 'update',
  177   177             'action': action,
  178   178             'data': kwargs,
  179   179         }
  180    -1         self.sendJSON(data)
   -1   180         self.send_json(data)
  181   181 
  182   182 
  183   183 class ServerProtocolFactory(Factory):
@@ -186,18 +186,18 @@ class ServerProtocolFactory(Factory):
  186   186     def __init__(self):
  187   187         self.connections = []
  188   188 
  189    -1     def buildProtocol(self, addr):
   -1   189     def build_protocol(self):
  190   190         return ServerProtocol(self)
  191   191 
  192    -1     def requestReceived(self, user, action, **kwargs):
   -1   192     def request_received(self, user, action, **kwargs):
  193   193         """Overwrite this on the server implementation."""
  194   194         raise NotImplementedError
  195   195 
  196    -1     def broadcastUpdate(self, action, **kwargs):
   -1   196     def broadcast_update(self, action, **kwargs):
  197   197         """Broadcast an update to all connected clients."""
  198   198 
  199   199         for connection in self.connections:
  200    -1             connection._sendUpdate(action, **kwargs)
   -1   200             connection._send_update(action, **kwargs)
  201   201 
  202   202 
  203   203 class ClientProtocol(BaseProtocol):
@@ -205,25 +205,25 @@ class ClientProtocol(BaseProtocol):
  205   205 
  206   206     def __init__(self, factory):
  207   207         self.factory = factory
  208    -1         self._responseDeferreds = {}
   -1   208         self._response_deferreds = {}
  209   209 
  210    -1     def connectionMade(self):
   -1   210     def connection_made(self, transport):
  211   211         self.factory.connections.append(self)
  212    -1         self.factory.connectionMade()
   -1   212         self.factory.connection_made()
  213   213 
  214    -1     def connectionLost(self, reason):
   -1   214     def connection_lost(self, reason):
  215   215         self.factory.connections.remove(self)
  216   216 
  217    -1     def jsonReceived(self, message):
   -1   217     def json_received(self, message):
  218   218         if message['type'] == 'response':
  219   219             self.validate_message(message, ['data', 'key', 'status', 'type'])
  220   220             key = message['key']
  221    -1             if key in self._responseDeferreds:
   -1   221             if key in self._response_deferreds:
  222   222                 response = {
  223   223                     'status': message['status'],
  224   224                     'data': message['data'],
  225   225                 }
  226    -1                 d = self._responseDeferreds.pop(key)
   -1   226                 d = self._response_deferreds.pop(key)
  227   227                 if message['status'] == 'success':
  228   228                     d.resolve(response)
  229   229                 else:
@@ -232,22 +232,22 @@ class ClientProtocol(BaseProtocol):
  232   232         elif message['type'] == 'update':
  233   233             self.validate_message(message, ['action', 'data', 'type'])
  234   234             self.validate_action(message['action'], message['data'])
  235    -1             self.updateReceived(message['action'], **message['data'])
   -1   235             self.update_received(message['action'], **message['data'])
  236   236 
  237   237         else:
  238   238             log.err('Message type not known: %s' % message['type'])
  239   239 
  240    -1     def updateReceived(self, action, **kwargs):
  241    -1         self.factory.updateReceived(action, **kwargs)
   -1   240     def update_received(self, action, **kwargs):
   -1   241         self.factory.update_received(action, **kwargs)
  242   242 
  243   243     def _timeout(self, d, key):
  244   244         try:
  245   245             d.reject('timeout', silent=True)
  246    -1             del self._responseDeferreds[key]
   -1   246             del self._response_deferreds[key]
  247   247         except KeyError:
  248   248             pass
  249   249 
  250    -1     def sendRequest(self, action, **kwargs):
   -1   250     def send_request(self, action, **kwargs):
  251   251         data = {
  252   252             'type': 'request',
  253   253             'key': generate_key(),
@@ -255,11 +255,11 @@ class ClientProtocol(BaseProtocol):
  255   255             'action': action,
  256   256             'data': kwargs,
  257   257         }
  258    -1         self.sendJSON(data)
   -1   258         self.send_json(data)
  259   259 
  260   260         d = q.Deferred()
  261    -1         self._responseDeferreds[data['key']] = d
  262   261         reactor.callLater(2, lambda: self._timeout(d, data['key']))
   -1   262         self._response_deferreds[data['key']] = d
  263   263         return d.promise
  264   264 
  265   265 
@@ -272,22 +272,22 @@ class ClientProtocolFactory(Factory):
  272   272     def __init__(self):
  273   273         self.connections = []
  274   274 
  275    -1     def buildProtocol(self, addr):
   -1   275     def build_protocol(self):
  276   276         return ClientProtocol(self)
  277   277 
  278   278     def setup(self, user):
  279   279         """Setup the user for all connections."""
  280   280         self.user = user
  281   281 
  282    -1     def sendRequest(self, action, **kwargs):
   -1   282     def send_request(self, action, **kwargs):
  283   283         """Send a request and get a promise yielding the response."""
  284    -1         return self.connections[-1].sendRequest(action, **kwargs)
   -1   284         return self.connections[-1].send_request(action, **kwargs)
  285   285 
  286    -1     def updateReceived(self, action, **kwargs):
   -1   286     def update_received(self, action, **kwargs):
  287   287         """Overwrite this on the client implementation."""
  288   288         raise NotImplementedError
  289   289 
  290    -1     def connectionMade(self):
   -1   290     def connection_made(self):
  291   291         """Overwrite this on the client implementation."""
  292   292         pass
  293   293 

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

@@ -21,7 +21,7 @@ class Server(protocol.ServerProtocolFactory):
   21    21         self.users = {}
   22    22         self.movable_layer = [[None for i in xrange(100)] for i in xrange(100)]
   23    23 
   24    -1     def requestReceived(self, user, action, **kwargs):  # TODO
   -1    24     def request_received(self, user, action, **kwargs):  # TODO
   25    25         if user not in self.users:
   26    26             self.users[user] = User()
   27    27             print("login %s" % user)
@@ -45,7 +45,7 @@ class Server(protocol.ServerProtocolFactory):
   45    45             elif user.direction == 'west':
   46    46                 self.move_user(user, -1, 0)
   47    47             if user.direction != 'stop':
   48    -1                 self.broadcastUpdate(
   -1    48                 self.broadcast_update(
   49    49                     'position',
   50    50                     x=user.position_x,
   51    51                     y=user.position_y,