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

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

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

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

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

Question,

      System.Windows.Forms.

      MessageBoxDefaultButton. Button1) ==

      System.Windows.Forms. DialogResult. Yes)

      {

      ResetPot ();

      }

      else

      {

      betValue = potValue;

      }

      }

      }

      public void DoIncreaseBet ()

      {

      betValue = betValue + betValueChangeValue;

      CheckPot ();

      }

      public void DoDecreaseBet ()

      {

      if (betValue> = betValueChangeValue)

      {

      betValue = betValue – betValueChangeValue;

      }

      }

      public void PlayerWins ()

      {

      // win back 2 * our stake

      potValue = potValue + betValue;

      //potValue = potValue + betValue; //We commented out.

      }

      public void HouseWins ()

      {

      CheckPot ();

      }

      public void DoPushBet ()

      {

      // put the betValue back in the potValue

      potValue = potValue + betValue;

      }

      public void DoPlaceBet ()

      {

      potValue = potValue – betValue;

      }

      public Pot ()

      {

      ResetPot ();

      }

      }

      }

      После этого добавления в панели Solution Explorer должны быть файлы, показанные на рисунке выше. Дважды щёлкая по имени файла, любой файл можно открыть, изучить и редактировать.

      В этих файлах использованы XML-комментарии (XML comment), где XML – Extensible Markup Language – расширяемый язык разметки, типа:

      /// <summary>

      /// Description of a variable:

      /// </summary>

      который состоит из начального тэга (start tag):

      /// <summary>

      и конечного тэга (end tag):

      /// </summary>

      между которыми записывается сам комментарий:

      /// Описание переменной:

      /// Description of a variable:

      В отличие от обычных комментариев после двойного слеша // или между двух символов /*…*/, в любом месте программы при наведении указателя мыши на переменную с XML-комментарием появляется подсказка, в которой имеется не только тип и класс переменной (как для переменной с обычным комментарием или вообще без комментария), но также имеется и её описание на любом языке, в том числе на русском языке, которое мы записали между начальным и конечным тэгами. XML-комментарии имеют и другие преимущества, описанные в специальной литературе.

      К недостатку XML-комментария, относятся две дополнительные строки начального и конечного тэгов, увеличивающие (и без них) большое количество строк в программе.

      1.20. Методика рисования текстов на основе класса

      Для рисования текстов на экране при помощи универсального (для многих других игр) класса Utilities,

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

      Листинг 1.13. Файл Utilities. cs.

      using System. Drawing;

      namespace PocketJack

      {

      public class Utilities

      {

      static private SolidBrush messageBrush =

      new SolidBrush (Color. Black);

      public static void BigText (string message, int x, int y,

      Color back, Color fore, Font messageFont, Graphics g)

      {

      int i;

      messageBrush.Color = back;

      for (i = 1; i <3; i++)

      {

      g. DrawString (message, messageFont, messageBrush,

      x – i, y – i);

      g. DrawString (message, messageFont, messageBrush,

      x – i, y + i);

      g.

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