Пример #1
0
    def post(self, user_id):
        data = request.get_json()
        blocchi = int(data["blocchi"])
        corsie = int(data["corsie"])
        livelli = int(data["livelli"])
        if blocchi > corsie:
            return "troppi blocchi", 406
        user = UserModel.find_by_id(user_id)
        lobby = LobbyModel.find_by_id(user.lobby_id)
        if lobby.status == 1:
            return "match has already started", 403
        # RANDOM POSITION
        user.give_random_corsia(lobby.corsie)
        lobby.status = 1
        users = UserModel.find_all_by_lobby_id_and_status(lobby.id, 1)
        for u in users:
            u.status = 2
            u.jolly_earthquake = 1
            u.jolly_reveal = 1
            u.save_to_db()

        n_users = UserModel.find_all_by_lobby_id_and_status(lobby.id, 0)
        for u in n_users:
            u.jolly_earthquake = 0
            u.jolly_reveal = 0
            u.pedina_number = 0
            u.save_to_db()

        lobby.update_turn()
        lobby.blocchi = blocchi
        lobby.livelli = livelli
        lobby.corsie = corsie
        lobby.save_to_db()
        lobby.create_blocks()
        return "match started", 200
Пример #2
0
 def get(self, user_id):
     user = UserModel.find_by_id(user_id)
     lobby = LobbyModel.find_by_id(user.lobby_id)
     blocchi_array = []
     blocchi = BloccoModel.find_all_by_lobby_id(lobby.id)
     for b in blocchi:
         j_bloc = {"id": b.id, "corsia": b.corsia, "livello": b.livello}
         blocchi_array.append(j_bloc)
     game_status = lobby.status
     users_array = []
     winners_array = []
     users = UserModel.find_all_by_lobby_id_and_status(
         lobby.id, game_status + 1)
     users.sort(key=lambda x: x.id)
     for u in users:
         c = None
         u_id = u.id
         if u.id == user.id:
             c = u.corsia
         is_playing = False
         if lobby.status == 1 and lobby.find_player_playing().id == u.id:
             is_playing = True
         if u.livello >= lobby.livelli:
             winners_array.append({
                 "id": u.id,
                 "pedina_number": u.pedina_number
             })
         else:
             j_user = {
                 "id": u_id,
                 "livello": u.livello,
                 "pedina_number": u.pedina_number,
                 "corsia": c,
                 "is_playing": is_playing,
                 "jolly_reveal": u.jolly_reveal,
                 "jolly_earthquake": u.jolly_earthquake
             }
             users_array.append(j_user)
     j_griglia = {
         "corsie": lobby.corsie,
         "livelli": lobby.livelli,
         "status": game_status
     }
     j_result = {
         "griglia": j_griglia,
         "blocchi": blocchi_array,
         "users": users_array,
         "winners": winners_array
     }
     return j_result
Пример #3
0
 def get(self, user_id):
     user = UserModel.find_by_id(user_id)
     lobby = LobbyModel.find_by_id(user.lobby_id)
     if not lobby:
         return "ah, ah", 402
     if lobby.status == 1:
         return "match has started", 401
     users = UserModel.find_all_by_lobby_id_and_status(lobby.id, 1)
     j_users = []
     for u in users:
         j_users.append({"id": u.id, "pedina_number": u.pedina_number})
     for i in j_users:
         if i["id"] == user_id:
             j_users.remove(i)
             j_users.append(i)
             break
     return j_users
Пример #4
0
 def get(self, user_id):
     user = UserModel.find_by_id(user_id)
     if user.jolly_reveal < 1:
         return "ah ah", 400
     user.jolly_reveal = 0
     user.save_to_db()
     lobby = LobbyModel.find_by_id(user.lobby_id)
     blocchi_array = []
     blocchi = BloccoModel.find_all_by_lobby_id(lobby.id)
     for b in blocchi:
         j_bloc = {"id": b.id, "corsia": b.corsia, "livello": b.livello}
         blocchi_array.append(j_bloc)
     game_status = lobby.status
     users_array = []
     users = UserModel.find_all_by_lobby_id_and_status(
         lobby.id, game_status + 1)
     for u in users:
         c = u.corsia
         is_playing = False
         if lobby.status == 1 and lobby.find_player_playing().id == u.id:
             is_playing = True
         j_user = {
             "id": u.id,
             "livello": u.livello,
             "pedina_number": u.pedina_number,
             "corsia": c,
             "is_playing": is_playing
         }
         users_array.append(j_user)
     j_griglia = {
         "corsie": lobby.corsie,
         "livelli": lobby.livelli,
         "status": game_status
     }
     j_result = {
         "griglia": j_griglia,
         "blocchi": blocchi_array,
         "users": users_array
     }
     return j_result