private void Hitbutton_Click(object sender, EventArgs e) { hand.Hit(PlayerType.Player); Sender.StoreEvent(UserID, "PlayerHit"); UpdateCards(PlayerType.Player, true); if (hand.PlayerHandValue == null) { TakeCareOfWinner(PlayerType.Dealer); } }
private Card Draw(Hand hand, List <Card> deck) { var card = deck.First(); hand.Hit(card); deck.RemoveAt(0); return(card); }
private static void PlayerMove() { int column = 0; DrawCard.WriteAt("HIT (Spacebar), STAND (Enter)", 2, 26); ConsoleKeyInfo info = Console.ReadKey(); while (info.Key == ConsoleKey.Spacebar) { hand.Hit(deck.Deal(), column, 4); info = Console.ReadKey(); column += 12; } if (info.Key == ConsoleKey.Enter) { DrawCard.WriteAt("PLAYER STAND!", 80, 2); hand.RevealDownCard(); } }
static void Main(string[] args) { Utility.SetupWindow("♣♥ BlackJack ♦♠", 70, 30, false); while (Gameover() == false) { //New Game \ Reset deck.CreateDeck(); hand.ResetHand(); dealer.ResetHand(); //Beginning hand hand.addCardtoHand(deck.DrawCard()); hand.addCardtoHand(deck.DrawCard()); Cards card = deck.DrawCard(); card.Faceup = false; dealer.addCardtoHand(card); //Needs to be faced down dealer.addCardtoHand(deck.DrawCard()); Console.Clear(); Render(); //Bets int amt; do { Console.Write("Bet ammount?"); amt = Utility.ReadInt(); Console.Clear(); Render(); } while (Utility.IsReadGood() && player.getMoney() < amt || amt <= 0); player.Bet(amt); Console.Clear(); Render(); //Draws while (hand.Hit() == true) { Console.Clear(); hand.addCardtoHand(deck.DrawCard()); Render(); if (hand.handValue() > 21) { break; } } Console.Clear(); Render(); //Final hand if (hand.handValue() > 21) { Console.Write("Bust!"); } Console.WriteLine("Your total is " + hand.handValue()); Console.WriteLine("----------------------------------------------------------------------"); while (dealer.dealerHit()) { if (hand.handValue() > 21) { break; } dealer.addCardtoHand(deck.DrawCard()); Render(); } //Determine winner & money distribution if (hand.handValue() < dealer.getHandValue() && dealer.getHandValue() <= 21 || hand.handValue() > 21) { dealer.setMoney(dealer.getMoney() + amt); Console.SetCursorPosition(0, 5); Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("You Lost $" + amt); Console.ResetColor(); Console.SetCursorPosition(35, 3); Console.Write("Dealer had: " + dealer.getHandValue()); } else if (hand.handValue() > dealer.getHandValue() && hand.handValue() <= 21 || dealer.getHandValue() > 21) { dealer.setMoney(dealer.getMoney() - amt); player.setMoney(player.getMoney() + amt + amt); Console.SetCursorPosition(0, 5); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("You won $" + amt); Console.ResetColor(); Console.SetCursorPosition(35, 3); Console.Write("Dealer had: " + dealer.getHandValue()); } else { Console.SetCursorPosition(35, 3); Console.Write("Dealer had: " + dealer.getHandValue()); Console.SetCursorPosition(0, 5); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("A tie occured, money returned"); Console.ResetColor(); player.setMoney(player.getMoney() + amt); } if (dealer.getHandValue() > 21) { Console.SetCursorPosition(35, 3); Console.Write("The Dealer busted"); } card.Faceup = true; Render(); Console.SetCursorPosition(0, 6); /* Optional question * Console.ForegroundColor = ConsoleColor.DarkGray; * Console.Write("Press ENTER to play the next round..."); * Console.ResetColor(); */ Console.Read(); //End screen if (player.getMoney() == 0) { Console.ForegroundColor = ConsoleColor.Red; Utility.WriteCentered("You lost to the dealer. You are now homeless"); break; } if (dealer.getMoney() <= 0) { Console.ForegroundColor = ConsoleColor.Cyan; Utility.WriteCentered("You win! Now the Cassino kicks you out for \"cheating\"!"); break; } Console.Clear(); Render(); } Console.ResetColor(); Console.SetCursorPosition(0, Console.WindowHeight - 1); Console.Write("Press ENTER to exit..."); Console.Read(); Console.ReadLine(); }