示例#1
0
async def join_game(game_id: int, user=Depends(manager)):
    with db_session:
        game = Game.get(id=game_id)
        if game is None:
            raise HTTPException(status_code=404, detail="Game not found")
        if game.players.count() == game.player_amount:
            raise HTTPException(status_code=403, detail="The game is full")
        new_player = Player(choosable=True,
                            current_position='',
                            role='',
                            is_voldemort=False,
                            alive=True,
                            user=User[user["id"]])
        new_player.game = game
        game.players.add(new_player)
    return {"message": 'joined successfully'}
示例#2
0
async def create_game(input_game: GameM, user=Depends(manager)):
    with db_session:
        new_game = Game(name=input_game.name,
                        created_by=user["id"],
                        started=False,
                        creation_date=datetime.datetime.now(),
                        player_amount=input_game.player_amount,
                        status={})
        new_player = Player(choosable=True,
                            current_position='',
                            role='',
                            is_voldemort=False,
                            alive=True,
                            user=User[user["id"]])
        new_game.players.add(new_player)
        new_player.game = new_game
        commit()
        status = {'id': new_game.id, 'message': 'Game created successfully'}
    return status