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

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


Скачать книгу
литературе.

      К недостатку 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.DrawString(message, messageFont, messageBrush,

      x + i, y – i);

      g.DrawString(message, messageFont, messageBrush,

      x + i, y + i);

      }

      messageBrush.Color = fore;

      g.DrawString(message, messageFont, messageBrush, x, y);

      }

      public Utilities()

      {

      // TODO: Add constructor logic here

      }

      }

      }

      Этот файл Utilities.cs мы будем использовать в нескольких приведённых далее играх для рисования текстов на экране , но там мы не будем приводить этот файл, для экономии места в книге, а будем давать только ссылку на этот параграф.

      Сразу же здесь отметим, что для использования данного файла Utilities.cs в проекте с другим именем (отличным от имени данного проекта PocketJack), необходимо:

      или в данном файле Utilities.cs вместо имени пространства имён (с именем проекта PocketJack) в строке:

      namespace PocketJack

      записать имя нового проекта,

      или в новом проекте в файле, где используется ссылка на данный файл Utilities.cs, в верхней части импортировать (записать директиву) пространства имён PocketJack:

      using PocketJack;

      1.21. Методика добавления информации в справочные формы

      Для ввода в проект новой (справочной) формы, по которой игрок будет изучать, например, правила игры, в меню Project выбираем Add Windows Form, в панели Add New Item оставляем заданные по умолчанию параметры и щёлкаем кнопку Add. В ответ Visual Studio выводит новую форму Form2 (рис. 1.31) и добавляет в панель Solution Explorer новый пункт Form2.cs.

      Рис. 1.31. Проектируем справочную форму. Рис. 1.32 В свойстве Multiline выбираем True.

      Аналогично, как первую, проектируем вторую форму и вводим элемент управления в виде окна TextBox. Чтобы в это окно можно было записать многострочный текст, в панели Properties (для этого элемента) в свойстве Multiline выбираем значение True (рис. 1.32).

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

      Теперь мы должны написать программу для второй формы Form2. Открываем


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