Валерий Алексеевич Жарков

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 8: Программирование на Visual C# искусственного интеллекта. Издание 2. Продолжение 1


Скачать книгу

original:

      if (mode == GameMode.PlayerBust && mode == GameMode.DealerWon)

      pot.DoPlaceBet();

      showPot();

      // clear the hands

      playerHand.Clear();

      dealerHand.Clear();

      // deal the face down hole card

      dealerHoleCard = shoe.DealCard();

      dealerHoleCard.FaceUp = false;

      dealerHand.Add(dealerHoleCard);

      // deal the first player card

      playerHand.Add(shoe.DealCard());

      // deal the second dealer card (face up)

      dealerHand.Add(shoe.DealCard());

      // deal the second player card

      playerHand.Add(shoe.DealCard());

      if ((dealerHand.BlackJackScoreHand() == 21) &&

      (playerHand.BlackJackScoreHand() != 21))

      {

      //We write in the original:

      pot.DoPlaceBet();

      pot.HouseWins();

      showPot();

      //Discontent of support group with our exceeding of

      //cards:

      Assembly a2 = Assembly.GetExecutingAssembly();

      Stream s2 =

      a2.GetManifestResourceStream("PocketJack.pj_busted.wav");

      SoundPlayer player2 = new SoundPlayer(s2);

      player2.Play();

      dealerHoleCard.FaceUp = true;

      mode = GameMode.DealerWon;

      return;

      }

      if ((playerHand.BlackJackScoreHand() == 21) &&

      (dealerHand.BlackJackScoreHand() != 21))

      {

      pot.PlayerWins();

      showPot();

      dealerHoleCard.FaceUp = true;

      mode = GameMode.PocketJack;

      return;

      }

      if ((playerHand.BlackJackScoreHand() == 21) &&

      (dealerHand.BlackJackScoreHand() == 21))

      {

      pot.DoPushBet();

      showPot();

      dealerHoleCard.FaceUp = true;

      mode = GameMode.Push;

      return;

      }

      mode = GameMode.PlayerActive;

      }

      Font messageFont = new Font(FontFamily.GenericSansSerif, 20,

      FontStyle.Regular);

      void paintForm(Graphics g)

      {

      switch (mode)

      {

      case GameMode.LoadingDisplay:

      //We draw all images below the menu:

      g.DrawImage(

      bankImage, 0, StayToolStripMenuItem.Height);

      g.DrawImage(

      loadingImage, 0, StayToolStripMenuItem.Height + 60);

      break;

      case GameMode.PlacingBets:

      g.DrawImage(bankImage, 0, StayToolStripMenuItem.Height);

      Utilities.BigText("Bank : " + pot.PotValue.ToString(),

      10, 40, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText("Bet : " +

      pot.BetValue.ToString(), 10, 80, Color.Black,

      Color.Yellow, messageFont, g);

      break;

      case GameMode.PlayerActive:

      dealerHand.DrawHand(g, 10, 30, 80, 25);

      playerHand.DrawHand(g, 10, 135, 20, 25);

      Utilities.BigText(playerHand.BlackJackScoreHand().

      ToString(), 140, 150, Color.Black,

      Color.Yellow, messageFont, g);

      break;

      case GameMode.PlayerWon:

      case GameMode.PocketJack:

      dealerHand.DrawHand(g, 10, 30, 20, 25);

      playerHand.DrawHand(g, 10, 135, 20, 25);

      Utilities.BigText(dealerHand.BlackJackScoreHand().

      ToString(), 140, 45, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText(playerHand.BlackJackScoreHand().

      ToString(), 140, 150, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText("Вы выиграли!",

      20, 80, Color.Black, Color.Yellow, messageFont, g);

      break;

      case GameMode.PlayerBust:

      dealerHand.DrawHand(g, 10, 30, 80, 25);

      playerHand.DrawHand(g, 10, 135, 20, 25);

      Utilities.BigText(playerHand.BlackJackScoreHand().

      ToString(), 140, 150, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText("Вы перебрали.",

      20, 80, Color.Black, Color.Red, messageFont, g);

      break;

      case GameMode.DealerActive:

      dealerHand.DrawHand(g, 10, 30, 20, 25);

      playerHand.DrawHand(g, 10, 135, 20, 25);

      Utilities.BigText(dealerHand.BlackJackScoreHand().

      ToString(), 140, 45, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText(playerHand.BlackJackScoreHand().

      ToString(), 140, 150, Color.Black,

      Color.Yellow, messageFont, g);

      break;

      case GameMode.DealerWon:

      dealerHand.DrawHand(g, 10, 30, 20, 25);

      playerHand.DrawHand(g, 10, 135, 20, 25);

      Utilities.BigText(dealerHand.BlackJackScoreHand().

      ToString(), 140, 45, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText(playerHand.BlackJackScoreHand().

      ToString(), 140, 150, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText("Вы потеряли.",

      20, 80, Color.Black, Color.Red, messageFont, g);

      break;

      case GameMode.DealerBust:

      dealerHand.DrawHand(g, 10, 30, 20, 25);

      playerHand.DrawHand(g, 10, 135, 20, 25);

      Utilities.BigText(dealerHand.BlackJackScoreHand().

      ToString(), 140, 45, Color.Black,

      Color.Yellow, messageFont, g);

      Utilities.BigText(playerHand.BlackJackScoreHand().

      ToString(), 140, 150, Color.Black,

      Color.Yellow,