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

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

СКАЧАТЬ style="font-size:15px;">      1.gif, 10.gif, 11.gif, 12.gif, …, 52.gif,

      файл bank.jpg фона экрана, также показанного выше,

      файл рисунка загрузки loading.gif, который появляется в начале и исчезает после окончания загрузки в программу всех графических и звуковых файлов

      Добавляем в проект звуковой файл pj_bg_noise. wav (для имитации нервного шума групп поддержки игрока и Банкомёта) по стандартной схеме, а именно: выполняем правый щелчок по имени этой папки, в контекстном меню выбираем Add, Existing Item, в панели Add Existing Item в окне «Files of type» выбираем «All Files», в центральном окне находим и выделяем имя файла (загруженного, например, из Интернета или из указанной в списке литературы ссылки) и щёлкаем кнопку Add (или дважды щёлкаем по имени файла). В панели Solution Explorer мы увидим этот файл.

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

      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;

      MenuToolStripMenuItem. Text = «Menu»;

      MenuToolStripMenuItem. Enabled = true;

      break;

      case GameMode.PlayerActive:

      BetMinusToolStripMenuItem1.Enabled = false;

      BetPlusToolStripMenuItem. СКАЧАТЬ