Beispiel #1
0
    public void Redeal()
    {
        for (int i = 0; i < currentPlayer.RedealFlags.Length; i++)
        {
            if (currentPlayer.RedealFlags[i])
            {
                currentDeck.DiscardCard(currentPlayer.Hand[i]);
                currentPlayer.Hand[i] = currentDeck.GetTopCard();
            }

            currentPlayer.RedealFlags[i] = false;
        }

        CardsRedealt?.Invoke(currentPlayer.Hand);

        if (Rules.TestHand(currentPlayer.Hand, currentBet, out string winningHandName, out int reward))
        {
            currentPlayer.Credits += reward;
            PlayerWon?.Invoke(winningHandName, reward, currentPlayer);
        }

        currentBet = Mathf.Min(kDefaultBet, currentPlayer.Credits);
        BetChanged?.Invoke(currentBet);
    }
Beispiel #2
0
 public void IncreaseBet(int increaseAmount)
 {
     currentBet = Mathf.Min(currentBet + increaseAmount, currentPlayer.Credits);
     BetChanged?.Invoke(currentBet);
 }