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

Жарков Валерий

Шрифт:

MenuToolStripMenuItem.Text = "Menu";

MenuToolStripMenuItem.Enabled = true;

break;

}

modeValue = value;

this.Invalidate;

}

}

//We load the game objects:

public void init

{

System.Reflection.Assembly asm =

System.Reflection.Assembly.GetExecutingAssembly;

loadingImage = new Bitmap(asm.GetManifestResourceStream(

"PocketJack.images.loading.gif"));

bankImage = new Bitmap(asm.GetManifestResourceStream(

"PocketJack.images.bank.jpg"));

mode = GameMode.LoadingDisplay;

this.Visible = true;

this.Refresh;

pot = new Pot;

//We create also initsializuy the help Form2 form:

helpForm = new Form2;

}

void startGame

{

shoe = new CardShoe;

//We comment in the original,

//since this line – only for testing of a game:

//shoe =

//new CardShoe(new byte[] { 2, 14, 11, 25, 10, 7, 6, 5 });

pot.ResetPot;

mode = GameMode.PlacingBets;

}

void startHand

{

mode = GameMode.PlacingBets;

}

void showPot

{

this.Text =

"Bank: " + pot.PotValue.ToString + " Bet: " +

pot.BetValue.ToString;

}

void startPlay

{

//We commented out in the original:

//pot.DoPlaceBet;

//We write in the 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.

  • Читать дальше
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: