Exemple #1
0
    public void Point(Player scorer, Ball ball)
    {
        ball.Reset();

        int score = scorer.GetScore() + 1;
        scorer.SetScore(score);

        bool swapped = false;
        bool gameIsOver = false;

        for (int i = 0; i < 3; i++)
        {
            if (players[i].isBall)
            {
                players[i].SetScore(players[i].GetScore() + 1);
            }
            else if (roundPoints(i) >= pointsPerRound)
            {
                swapped = true;
            }

            if (players[i].GetScore() >= pointsPerGame)
            {
                gameIsOver = true;
            }
        }

        if (gameIsOver)
        {
            GameOver();
        }
        else if (swapped)
        {
            Swap (false);
            ballWaitingForSwap = ball;

            for (int p = 0; p < 3; p++)
            {
                roundStartPoints[p] = players[p].GetScore();
            }
        }
        else
        {
            ball.SetMoveDelay();
        }
    }