Untitled
unknown
plain_text
2 years ago
2.2 kB
5
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...