Пример #1
0
 def send_move(self, vector, destination = False):
     message = pack(Move(vector, destination))
     self.put_message(message)
     #предварительное движение
     if vector and not self.shift and not self.antilag:
             step = vector * ((TILESIZE/5) / abs(vector))
             if step<vector:
                 shift = step
             else:
                 shift = vector
             self.parent.antilag_init(shift)
             self.antilag_shift = shift
             self.antilag = True
Пример #2
0
    def game_worker(self):
        "передает запросы, новых/отключившихся клиентов движку, и получает запросы"
        #смотрим новых клиентов
        for client_name in self.server.get_accepted():
            self.client_list.add(client_name)
            for response in self.game.game_connect(client_name):
                accept_response = pack(response)
                self.server.put_response(client_name, accept_response)

        #смотрим отключившихся клиентов
        for client_name in self.server.get_closed():
            self.game.game_quit(client_name)

            self.client_list.remove(client_name)

        #смотрим новые запросы и очищаем очередь
        requestes = list(self.server.get_requestes())

        for client_name, message in requestes:
            self.client_requestes[client_name].append(unpack(message))

        #отправляем запросы движку
        self.game.game_requests(self.client_requestes)

        self.client_requestes.clear()
        
        #обновляем движок
        self.game.game_update()
        
        #вставляем ответы в очередь на отправку
        for client_name, messages in self.game.game_responses():
            for message in messages:
                response = pack(message)
                self.server.put_response(client_name, response)
        
        #завершаем раунд игры
        self.game.end_round()
Пример #3
0
 def send_apply_item(self, slot):
     message = pack(ApplyItem(slot))
     self.put_message(message)
Пример #4
0
 def send_skill(self):
     message = pack(Skill())
     self.put_message(message)
Пример #5
0
 def send_ball(self, vector):
     message = pack(Strike(vector))
     self.put_message(message)
Пример #6
0
 def send_ball(self, vector):
     message = pack(Strike(vector))
     self.put_message(message)