예제 #1
0
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)