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

Следовательно, в этой игре проиграл Игрок 2, из 10 попыток не угадавший слово.

9. Для начала новой игры следует в Меню выбрать команду “Новая игра” (рис. 19.10).

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _5.jpg

Рис. 19.6. Игрок выбрал букву E и угадал.

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _6.jpg

Рис. 19.7. Игрок на последней 10-й попытке не угадал букву.

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _7.jpg
Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _8.jpg

Рис. 19.8. Панель с сообщением “Вы не угадали слово.”. Рис. 19.9. Загаданное слово.

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _9.jpg

Рис. 19.10. В Меню выбираем команду “Новая игра”.

10. Теперь участники игры могут поменяться ролями. Аналогично, сначала Игрок 1 при помощи клавиатуры записывает английскими буквами, причём только строчными буквами (без нажатия клавиши Shift) загаданное им слово в окно TextBox, например, слово thanks (благодарность).

Это слово искусственный интеллект скрывает от Игрока 2, записывая его звёздочками (как пароль), рис. 19.11. Далее Игрок 1 объясняет Игроку 2, как переводится на русский язык (или только тематику) загаданное им английское слово, и щёлкает кнопку Старт. Кнопка Старт становится недоступной. Игрок 2 пытается отгадать отдельные буквы загаданного слова и щёлкает кнопки с выбранными им буквами (из всех кнопок со всеми буквами английского алфавита). Искусственный интеллект делает кнопки с выбранными буквами недоступными и размещает эти буквы либо в верхней строке для правильного ответа, либо в таблице для 10 допустимых неправильных букв красного цвета. Звучит мелодия либо для правильного ответа, либо для неправильного ответа.

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _10.jpg

Рис. 19.11. Из 10 попыток игрок угадал слово.

11. Предположим, что из 10 попыток игрок угадал слово.

Изображение типа смайлика улыбается, звучит музыка для правильного ответа, значит победил Игрок 2.

12. Для начала новой игры следует в Меню выбрать команду “Новая игра”.

13. Для закрытия игры следует в Меню выбрать команду Выход.

14. Появляется панель типа MessageBox с благодарностью “Спасибо за игру” (рис. 19.12).

Закрываем эту панель, воздействуя на выделенную кнопку OK мышью или клавишей Enter.

15. Появляется панель типа MessageBox с вопросом “Вы желаете выйти из игры” (рис. 19.13).

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _11.jpg
Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _12.jpg

Рис. 19.12. Панель MessageBox с благодарностью. Рис. 19.13. Панель MessageBox с вопросом.

В зависимости от выбранного нами ответа Yes или No мы выходим или продолжаем игру.

16. Если выбираем No, появляется уже показанный выше интерфейс игры.

Теперь первый ход (загадывает слово) делает, например, тот игрок, который в предыдущей игре начинал вторым. Если в игре участвует несколько человек, то можно условиться, что победитель в предыдущей игре начинает первым.

17. Если выбираем Yes, игра закрывается. Для закрытия игры можно также в любой момент выбрать на форме значок Close.

18. Если игроку требуется вспомнить правила игры, то в меню Помощь он выбирает команду “Правила игры”, после чего появляется соответствующая форма (рис. 19.14).

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _13.jpg

Рис. 19.14.

Форма с правилами игры.

На основании этих правил можно сформулировать другие правила, и любые правила ввести в эту справочную форму.

19.2. Создание проекта

Создаём проект по обычной схеме: в VS в панели New Project в окне Project types выбираем тип проекта Visual Basic, Windows, в окне Templates выделяем шаблон Windows Forms Application, в окне Name записываем любое имя проекта, например, HangMan и щёлкаем OK. Создаётся проект, появляется форма Form1 на экране в режиме проектирования (рис. 19.15). Оставляем по умолчанию или проектируем форму, как подробно описано в параграфе “Методика проектирования формы”. Например, в панели Properties в свойстве Font выбираем шрифт Times New Roman, 14, Bold.

C панели инструментов Toolbox переносим на форму (слева направо и сверху вниз) следующие элементы управления.

Надпись Label с любым именем Name (т.к. это имя не будет использоваться в программе) и текстом “1. Запишите слово:”.

Окно текста TextBox, для которого в панели Properties: записываем имя Name = Word_in, ограничиваем количество букв двадцатью MaxLenght = 20, скрываем буквы слова за звёздочками (как пароль) PasswordChar = *.

Надпись Label с любым именем Name (т.к. это имя не будет использоваться в программе) и текстом “2. Щёлкните:”.

Кнопка Button, для которой в панели Properties записываем имя Name = Done и текст Text = Старт.

Надпись LinkLabel, для которой в панели Properties записываем имя Name = check_answer (проверка ответа) и текст Text = Проверка.

Двадцать надписей Label, для которых в панели Properties записываем имена Name = Chr1, Chr2, Chr3, …, Chr20 (эти имена будут использоваться в программе) и текст Text во всех надписях – в виде символа подчёркивания “_”.

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 5: Программирование искусственного интеллекта на Visual Basic (продолжение 1) - _14.jpg

Рис. 19.15. Форма Form1 в режиме проектирования.

Двадцать надписей Label, для которых в панели Properties записываем имена Name = dash1, dash2, dash3, …, dash20 (эти имена будут использоваться в программе) и текст Text во всех надписях – в виде символа подчёркивания “_”.

Надпись Label с любым именем Name (т.к. это имя не будет использоваться в программе) и текстом “Таблица для 10 допустимых неправильных букв:”.

Ниже последней надписи проектируем таблицу из двух горизонтальных и трёх вертикальных линий из элементов управления типа PictureBox, для которых в панели Properties в свойстве BackColor выбираем чёрный цвет, например, ControlText.

В двенадцати ячейках этой таблицы размещаем двенадцать надписей Label, для которых в панели Properties записываем имена Name = f_chr1, f_chr2, f_chr3, …, f_chr12 (эти имена будут использоваться в программе) и без текста Text во всех первых 11 надписях. Чтобы выделить 11 ошибочных букв в этих 11 ячейках, в свойстве ForeColor этих 11 надписей задаём красный цвет Red. Только в последней надписи с именем Name = f_chr12 в свойстве Text записываем какой-либо символ, например, символ подчёркивания “_”, а в свойстве BackColor выбираем чёрный цвет, например, ControlText (тем самым, выделяя чёрный прямоугольник этой ячейки, как показано на рисунке).

Надпись Label с любым именем Name (т.к. это имя не будет использоваться в программе) и текстом “3. Угадывайте буквы слова:”.

Двадцать шесть (по числу букв в английском алфавите) кнопок Button, для которых в панели Properties записываем имена для букв английского алфавита, Name = A, B, C, D, Er, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z (эти имена будут использоваться в программе) и текст Text, соответствующий этим буквам (как показано на рисунке). Напомним, что язык Visual Basic нечувствителен к регистру букв, и строчную букву “e”, и прописную букву “E” этот язык воспринимает одинаково. Поэтому, чтобы не было конфликта имени “e”, как объекта класса System.EventArgs в параметре метода-обработчика щелчка кнопки, и имени кнопки Name = E, выше мы записали имя кнопки Name = Er.

3
{"b":"812364","o":1}