Beispiel #1
0
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;
}
Beispiel #2
0
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;
}