Валерий Алексеевич Жарков

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


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

здесь отметим, что для использования данного файла 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. Открываем (например, по схеме: File, Open, File) файл Form2.cs и в методе-конструкторе класса Form2 ниже следующих строк:

      public Form2 ()

      {

      InitializeComponent ();

      записываем следующий код для выдачи на экран на элемент управления TextBox справочной информации.

      Листинг 1.14. Код для выдачи на экран справочной информации.

      StringBuilder sbl;

      sbl = new StringBuilder ();

      sbl. Append («Правила игры в очко:\r\n\r\n\r\n»);

      sbl. Append («Rules of the game in „point“: \r\n\r\n\r\n»);

      sbl. Append («1) Вы являетесь игроком (player) и играете " +

      sbl. Append («1) You are a player and play» +

      «один на один с банкомётом (dealer).\r\n\r\n»);

      «in private with a dealer.\r\n\r\n»);

      sbl. Append («2) Ваша цель состоит в том, чтобы иметь в руке " +

      sbl. Append («2) Your purpose consists in having in a hand» +

      «карты с очками, как можно ближе к 21, но не превышая 21, " +

      «a card with points as it is possible closer to 21, " +

      «but without exceeding 21,» +

      «и больше, чем у банкомёта.\r\n\r\n»);

      «and more, than at dealer.\r\n\r\n»);

      sbl. Append («3) Первоначально у вас имеются две карты, " +

      sbl. Append («3) Originally are available for you two cards,» +

      «вы видите сумму очков этих двух карт, и вы можете взять " +

      «you see the sum of points of these two cards, " +

      «and you can take» +

      «дополнительные карты, нажимая кнопку Enter " +

      «the additional cards, pressing the Enter key» +

      «или выбирая команду «Карту мне» в Меню " +

      «or choosing the command „HitMe“ in the Menu» +

      «для элемента управления mainMenu1.\r\n\r\n»);

      «for the control mainMenu1.\r\n\r\n control»);

      sbl. Append («4) Если общее количество очков " +

      sbl. Append («4) If total quantity of points» +

      «ваших карт превышает 21, " +

      «of your cards exceeds 21,» +

      «вы взяли лишние карты и теряете вашу ставку.\r\n\r\n»);

      «you took excess cards and lose yours bet.\r\n\r\n»);

      sbl. Append («5) Если банкомёт набрал такое же