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

Чтение книги онлайн.

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

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

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

вид.

      Листинг 1.7. Метод для увеличения Ставки.

      private void BetPlusToolStripMenuItem_Click(object sender, EventArgs e)

      {

      doUp();

      }

      Аналогично дважды щёлкаем по команде “Ставка -” (Bet -). Появившийся шаблон метода после записи нашего кода принимает следующий вид.

      Листинг 1.8. Метод для уменьшения Ставки.

      private void BetMinusToolStripMenuItem1_Click(object sender, EventArgs e)

      {

      doDown();

      }

      Методика приостановки и возобновления звука при помощи установки и удаления флажка в команде Звук (Sound) была описана выше. В данной игре, звук включён постоянно.

      Аналогично дважды щёлкаем по команде Help. Появившийся шаблон метода после записи нашего кода принимает следующий вид.

      Листинг 1.9. Метод для вывода справочной формы.

      private void HelpToolStripMenuItem_Click(object sender, EventArgs e)

      {

      showHelp();

      }

      Теперь программа должна управлять карточной игрой, используя любые клавиши, например, верхнюю (Up) и нижнюю (Down), левую (Left) и правую (Right) клавиши со стрелками, а также клавишу Enter (для начальной сдачи карт игроку и Банкомёту и последующей сдачи по одной карте игроку). В панели Properties (для формы Form1) на вкладке Events дважды щёлкаем по имени события KeyDown. Появившийся шаблон обработки нажатий всех клавиш после записи нашего кода для нажатий только трех клавиш (относящимся к тематике данной главы) принимает следующий вид.

      Листинг 1.10. Метод для обработки нажатий клавиш.

      private void Form1_KeyDown(object sender, KeyEventArgs e)

      {

      if ((e.KeyCode == System.Windows.Forms.Keys.Up))

      {

      doUp();

      e.Handled = true;

      }

      if ((e.KeyCode == System.Windows.Forms.Keys.Down))

      {

      doDown();

      e.Handled = true;

      }

      if ((e.KeyCode == System.Windows.Forms.Keys.Enter))

      {

      //Набираем себе карты:

      doEnter();

      }

      }

      Мы закончили написание программы в главный класс Form1 (для формы Form1 с пользовательским интерфейсом игры). В этом проекте движок игры (Engine Game) находится не в файле Form1.cs (как обычно бывает), а в следующем файле CardEngine.cs.

      Теперь в наш проект добавляем новые файлы (для программирования соответствующих игровых действий) по следующей схеме.

      В панели Solution Explorer выполняем правый щелчок по имени проекта и в контекстном меню выбираем Add, New Item. В панели Add New Item выделяем шаблон Code File, в окне Name записываем имя нового файла с расширением *.cs и щёлкаем кнопку Add. В проект (и в панель Solution Explorer) добавляется этот файл, открывается пустое окно редактирования кода, в которое записываем следующий код.

      Листинг 1.11. Новый файл CardEngine.cs.

      using System;

      using System.Collections;

      using System.Drawing;

      namespace PocketJack

      {

      /// <summary>

      /// Provides the behaviours required to manage and draw cards

      /// </summary>

      public class Card

      {

      /// <summary>

      /// The number of the card, in the range 1 to 52

      /// </summary>

      public byte CardNo;

      /// <summary>

      /// Indicates if the card is to be drawn face up.

      ///

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