def solo_player(socket): user = User(socket) monster = Monster() registration = { 'act': 'intro', 'msg': "You will be playing against AI monster.\nMake your action.\n" + monster.introduce_yourself(), 'x': monster.pos_x, 'y': monster.pos_y } response = '' socket.send(json.dumps(registration).encode('utf-8')) intro = socket.recv(size) monster.setup_opponent(json.loads(str(intro, 'utf-8'))) user.registered = True #Monster-User interaction loop while True: socket.send(response.encode('utf-8')) time.sleep(1) response = socket.recv(size) dictionary = json.loads(str(response, 'utf-8')) turn = {} if dictionary['act'] == 'atk' and (not monster.first_turn): turn, follow_up = monster.get_monster_turn(dictionary) socket.send(json.dumps(follow_up).encode('utf-8')) socket.recv(size) else: turn = monster.get_monster_turn(dictionary) response = json.dumps(turn) time.sleep(1)