Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 3: Программирование на Visual C# искусственного интеллекта (продолжение 2) - страница 24

Шрифт
Интервал


Аналогично добавляем в эту папку остальные звуковые файлы:

pj_busted. wav – звук неудовольствия группы поддержки при переборе карт игроком;

pj_claps. wav – звук аплодисментов группы поддержки при выигрыше игрока на данной сдаче карт;

pj_pj. wav – радостный шум группы поддержки и голос за кадром, произносящий PocketJack при выигрыше игрока на данной сдаче карт.

Напомним, что добавлять в проект указанные выше файлы можно как по одному, так и все сразу, и выбирать значение Embedded Resource можно как для одного файла, так и для всех файлов сразу (после их выделения или только одной мышью, или мышью с нажатой клавишей Shift – для выделения всех соседних файлов после щелчка только первого и последнего файлов, или мышью с нажатой клавишей Ctrl – для выделения всех файлов в различных местах).

В данном проекте, DirectX не применяется.

1.19. Код программы

Открываем файл Form1.cs (например, по схеме: File, Open, File) и в самом верху импортируем пространства имён для управления соответствующими классами:


using System.Reflection; //Namespace for class Assembly.

using System.Media; //Namespace for class SoundPlayer.

using System.IO; //Namespace for class Stream.


В классе Form1 нашего проекта записываем следующие переменные и методы.


Листинг 1.1. Переменные и методы.

//Shoe of cards:
CardShoe shoe;
CardHand playerHand = new CardHand ();
Card dealerHoleCard;
CardHand dealerHand = new CardHand ();
//Bank of a game:
Pot pot;
//We declare an object for a help form:
Form2 helpForm;
Image loadingImage = null;
Image bankImage = null;
public enum GameMode
{
LoadingDisplay,
PlacingBets,
PlayerActive,
PlayerWon,
PlayerBust,
PocketJack,
DealerActive,
DealerWon,
DealerBust,
Push
}
GameMode modeValue;
GameMode mode
{
get
{
return modeValue;
}
set
{
switch (value)
{
case GameMode. LoadingDisplay:
BetMinusToolStripMenuItem1.Enabled = false;
BetPlusToolStripMenuItem. Enabled = false;
HitMeToolStripMenuItem. Enabled = false;
StayToolStripMenuItem. Text = «Point»;
StayToolStripMenuItem. Enabled = false;
MenuToolStripMenuItem. Text = «21»;
MenuToolStripMenuItem. Enabled = false;
break;
case GameMode.PlacingBets:
BetMinusToolStripMenuItem1.Enabled = true;
BetPlusToolStripMenuItem. Enabled = true;
HitMeToolStripMenuItem. Enabled = false;
StayToolStripMenuItem. Text = «Себе»;
StayToolStripMenuItem. Enabled = true;