@Override
    public void addCard(PlayerInterface player, CardInterface card) throws SubRoundAlreadyFinished, PlayerAlreadyLaidCard {
        checkSubroundAlreadyFinished();
        checkPlayerAlreadyLaidCard(player);

        if (trickcard == null || trickcard.isLessThan(card, trump)) {
            trickplayer = player;
            trickcard = card;
        }
        playerLaidCard.add(player);

        setCurrentNation(card);

        if (playerLaidCard.size() == players.length) {
            subRoundFinished = true;
            playerMadeTricks.put(trickplayer, playerMadeTricks.get(trickplayer) + 1);
            playerLaidCard.clear();
        }
        if (subRoundFinished && subroundnumber + 1 == roundnumber) {
            roundFinished = true;
        }

    }