def update(self, dt): if self.delay != False and time.time() > self.delay: self.reality.x += self.game_speed * dt self.od.x += self.game_speed * dt player = self.players.get(self.cid, None) if player: (x, y) = player.position if y > 360 and y < 360 + 720: self.reality.y = y self.od.y = y if x < self.reality.x or x > self.od.x: if player.alive: serverConnection.write(messages.pack_death(player.cid, x, y)) player.alive = False self.get_ancestor(ScrollingManager).set_focus(int(x), int(y))
if player.effect: eat_msg = messages.pack_eat(player.cid, player.effect, player.position[0], player.position[1]) for client in self.sockets: try: client.send(eat_msg) except socket.error, err: remove.add(client) player.effect = 0 if not player.alive: remove.add(descriptor) death_msg = messages.pack_death(player.cid, player.position[0], player.position[1]) for client in self.sockets: try: client.send(death_msg) except socket.error, err: remove.add(client) for client in remove: try: player = self.sockets[client] print "%s: disconnected" % player.cid del self.sockets[client] except KeyError: pass