def game_loop(self): self.connection() players = Players.Players(self.w) game = Game.Game(self.w, players, self.process) players.setMe(self.me) i = 0 while i < 2: game.printwaiting() game.geteventtab() socket_list = [sys.stdin, self.s] ready_to_read, ready_to_write, in_error = select.select( socket_list, [], [], 0.05) for sock in ready_to_read: if sock == self.s: # incoming message from remote server, s data = sock.recv(4096) if not data: print '\nDisconnected from server' sys.exit() else: data = data.split('\n') for enemy in data: enemy = enemy.split('#') if (len(enemy) > 3): players.setNewEnemy(enemy[0], enemy[1], enemy[2], enemy[3], 90) i += 1 game.clearbackground() game.display() while 1: socket_list = [sys.stdin, self.s] # Get the list sockets which are readable ready_to_read, ready_to_write, in_error = select.select( socket_list, [], [], 0.05) for sock in ready_to_read: if sock == self.s: data = sock.recv(4096) if not data: print '\nDisconnected from server' sys.exit() else: if data[0] == '#': # position tanks tmp_split = data[1:].split('#') game.moveEnemy(tmp_split[0], tmp_split[1], tmp_split[2], tmp_split[3]) elif data[0] == '&': # balles tmp_split = data[1:].split('&') game.bullets.addEnemy(tmp_split[0], tmp_split[1], tmp_split[2], tmp_split[3], tmp_split[4]) elif data[0] == '$': # Game tmp_split = data[1:].split('$') game.players.disconnect(tmp_split[0]) else: game.display() msg = game.getevent() if msg is not None and msg != "error": if (msg[0] != '&'): msg = "#" + self.me + '#' + msg + "#" self.s.send(msg) if len(players.tanks) < 2: if (self.process is not None): self.process.kill() exit(0)