Untitled
unknown
plain_text
3 years ago
2.2 kB
8
Indexable
public void playGame() {
Random random = new Random();
Scanner scanner = new Scanner(System.in);
//losowanie gracza ktory rozpocznie jako pierwszy
System.out.println("Trwa losowanie kto zaczyna ...");
int firstPlayerIndex = random.nextInt(players.length);
System.out.println("Rozpoczyna gracz " + players[firstPlayerIndex].getSymbol());
int currentPlayerIndex = firstPlayerIndex;
boolean isGameFinished = false; // zmienna logiczna ktora wykorzystam w petli rozgrywki
while (!isGameFinished) {
Player currentPlayer = players[currentPlayerIndex];
int diceRoll = diceRoll(currentPlayer);
if (diceRoll == 6 && currentPlayer.allPawnsAtHome()) {
currentPlayer.getOutFromHome();
} else {
if (!(currentPlayer.allPawnsAtHome())) {
System.out.println("Wybierz pole pionka, ktorym chcesz wykonac ruch: ");
int pawnField = scanner.nextInt();
Pawn[] pawns = currentPlayer.getPawns();
Pawn selectedPawn = pawns[pawnField-1];
int newPosition = (selectedPawn.getPosition() + diceRoll) % 40;
selectedPawn.incrementSteps(diceRoll);
for (Player player : players) {
for (Pawn pawn : player.getPawns()) {
if (pawn.getPosition() == newPosition && pawn != selectedPawn) {
pawn.setAtHome(true);
pawn.setPosition(-1);
break;
}
}
}
selectedPawn.setPosition(newPosition);
}
}
if (currentPlayer.allPawnsFinished()) {
isGameFinished = true;
System.out.println("Gracz " + currentPlayer.getSymbol() + " wygrywa.");
}
currentPlayerIndex = (currentPlayerIndex + 1) % players.length; // Przełącz do następnego gracza
}
}Editor is loading...