bool Game::RollDiceBeforeThrowingDoublet(Player* activePlayer, Dice& firstDice, Dice& secondDice, ButtonText& button, bool ShownCard) { int firstRollDice = firstDice.RollDice(); int secondRollDice = secondDice.RollDice(); if (!activePlayer->IsBlocked()) { if (activePlayer->GetPawn().move(firstRollDice + secondRollDice)) activePlayer->AddMoney(200); activePlayer->SetActiveField(true); ShownCard = false; if (firstRollDice == secondRollDice) { activePlayer->SetDoublet(true); button.GetText().setString(L"Wyrzuciłeś dublet!\nRzuć kostkami jeszcze raz!"); } else activePlayer->SetActiveMovement(false); } else { if (firstRollDice == secondRollDice) { activePlayer->SetDoublet(true); button.GetText().setString(L"Wyrzuciłeś dublet!\nRzuć kostkami jeszcze raz!"); } else { button.GetText().setString(L"Nie udało się wyrzucić dubletu!\nOddaj ruch kolejnemu graczowi!"); activePlayer->SetActiveMovement(false); } --(*activePlayer); } return ShownCard; }
bool Game::RollDiceAfterThrowingDoublet(Player* activePlayer, Dice& firstDice, Dice& secondDice, ButtonText& button, bool ShownCard) { int firstRollDice = firstDice.RollDice(); int secondRollDice = secondDice.RollDice(); if (!activePlayer->IsBlocked()) { if (firstRollDice != secondRollDice) { textButtons[1].GetText().setString(L"Brak..."); if (activePlayer->GetPawn().move(firstRollDice + secondRollDice)) activePlayer->AddMoney(200); activePlayer->SetActiveField(true); ShownCard = false; } else { activePlayer->SetBlock(2, true); textButtons[1].GetText().setString(L"Wyrzuciłeś drugi dublet!\nTrafiasz do więzienia!"); } } else { if (firstRollDice == secondRollDice) { textButtons[1].GetText().setString(L"Wyrzuciłeś drugi dublet!\nWychodzisz z więzienia!"); activePlayer->GetPawn().SetArea(10); if (activePlayer->GetPawn().move(firstRollDice + secondRollDice)) activePlayer->AddMoney(200); activePlayer->SetBlock(0); activePlayer->SetActiveField(true); ShownCard = false; } } activePlayer->SetDoublet(false); activePlayer->SetActiveMovement(false); return ShownCard; }