Литмир - Электронная Библиотека
A
A

using PocketJack;

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

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

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

Рис. 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) Если банкомёт набрал такое же количество очков, " +

sbl.Append("5) If a dealer scored the same quantity of points," +

"как и вы, побеждаете вы, " +

"as well as you, win you," +

"и счёт увеличивается в вашу пользу.\r\n\r\n");

"and the account increases in yours advantage.\r\n\r\n");

sbl.Append("6) Значения очков каждой карты следующие:\r\n");

sbl.Append("6) Values of points of each card following:\r\n");

sbl.Append("Ace – A = 1 or 11; " +

"как 1-я, 2-я или 3-я карта – Туз даёт 11 очков; " +

"as the 1st, 2nd or 3rd card – Ace gives 11 points;" +

"например, с Валетом, Дамой и Королём Туз даёт 11 очков " +

"for example, with Jack, Gueen and King, Ace gives 11 points" +

"и в сумме 10+11=21 эти две карты называются PocketJack, " +

"and in the sum 10+11=21 these two cards are called " +

"PocketJack," +

"который бьёт карты соперника, даже набравшие 21; " +

"who covers the rival's cards, even gathered 21;" +

"как 4-я и последующая карта – Туз даёт 1 очко;\r\n");

"as the 4th and subsequent card – Ace gives 1 point; \r\n");

sbl.Append("цифры на картах от 2 до 9 " +

sbl.Append("Digits on cards from 2 to 9" +

"означают очки этой карты;\r\n");

"mean the points of this card; \r\n");

sbl.Append("карта с числом 10, " +

sbl.Append ("a card with number 10," +

"Jack – J, " +

"Queen – Q, " +

"King – K = on 10 points." +

"\r\n\r\n");

sbl.Append("7) Если первые две карты у игрока или банкомёта " +

sbl.Append("7) If the first two cards at player or dealer" +

"набрали 21 очко, то они также " +

"gathered 21 points, they also" +

"бьют карты соперника, даже набравшие 21.\r\n\r\n");

"cover the rival's cards, even gathered 21.\r\n\r\n");

sbl.Append("8) Банкомёт сдаёт карты " +

sbl.Append("8) Dealer hands over cards" +

"с единственной колоды карт.\r\n\r\n");

"from the only shoe of cards.\r\n\r\n");

sbl.Append("9) Банкомёт будет сдавать себе карты, " +

sbl.Append("9) Dealer will hand over itself cards," +

"пока не достигнет 17 или больше.\r\n\r\n");

"will not reach 17 or it is more.\r\n\r\n");

sbl.Append("10) Первая карта банкомёта может сдаваться " +

sbl.Append("10) The first card of a dealer can be given" +

"лицевой стороной вниз и быть невидимой.\r\n\r\n");

"the face down and to be nevidimoy.\r\n\r\n");

sbl.Append("11) Вы должны или оставить ставку по умолчанию, " +

sbl.Append("11) You should or to leave a bet by default," +

"или установить новую вашу ставку до раздачи карт " +

"or to set your new bet before distribution of cards" +

"(в последнем случае используйте команды " +

" (in the latter case use the commands" +

"<BetPlus -> и <BetMinus -> " +

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

"in the Menu for the mainMenu1 control).\r\n\r\n");

sbl.Append("12) Ваше значение банка " +

sbl.Append("12) Your value of bank" +

"все время показывают на экране. " +

"all the time show on the screen." +

"Если значение банка станет ниже вашей ставки, " +

"If value of bank becomes below your bet," +

"вам предложат начать новую игру.\r\n\r\n");

"to you will suggest to begin the new game.\r\n\r\n");

sbl.Append("13) Когда вы набрали карты, вы можете " +

14
{"b":"813669","o":1}