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(); } }