Чтение онлайн

на главную - закладки

Жанры

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

Два последних элемента управления PictureBox со смайликами накладываем один на другого на месте головы нарисованного человечка. А программа будет показывать нам либо хмурый смайлик (при неправильной букве), либо веселый смайлик (при правильной букве).

Напомним, что, растягивая за маркеры элемент PictureBox, при помощи свойства SizeMode = StretchImage мы можем растягивать голову человечка на всю площадь этого элемента так, чтобы было посмешнее.

Переносим на форму элемент управления MenuStrip – выпадающее меню для команд и опций, сгруппированных по функциональности. Щёлкаем по этому элементу menuStrip1, расположенному

ниже формы Form1 в режиме проектирования. На форме Form1 появляются окна с надписью Type Here (Печатайте здесь), в которые записываем команды на английском языке (приведённые далее в программе): Game, New Game, Exit; Help, How to, About. Теперь в панели Properties (для каждой команды этого элемента управления) в свойстве Text изменяем эти английские команды на русские, согласно рис. 19.17 – 19.18.

Рис. 19.17. Команды левого меню. Рис. 19.18. Команды правого меню.

Если в игре применяются звуковые файлы, то их целесообразно разместить в одной папке с именем, например, Sounds. Для добавления в проект этой папки, в панели Solution Explorer выполняем правый щелчок по имени проекта, в контекстном меню выбираем Add, New Folder, в поле появившегося значка папки записываем имя папки и нажимаем клавишу Enter. Добавляем в эту папку звуковые файлы по стандартной схеме: выполняем правый щелчок по имени этой папки, в контекстном меню выбираем Add, Existing Item, в панели Add Existing Item в окне “Files of type” выбираем “All Files”, в центральном окне находим (например, в папке с загруженными из Интернета файлами) и с нажатой клавишей Ctrl выделяем имена файлов и щёлкаем кнопку Add. В панели Solution Explorer мы увидим эти файлы (см. рисунок выше).

Для ввода в проект новой формы (для правил игры) в меню Project выбираем Add Windows Form, в панели Add New Item оставляем заданные по умолчанию параметры и щёлкаем кнопку Add. В ответ VS выводит новую форму Form2 и добавляет в панель Solution Explorer новый пункт Form2.vb. Аналогично, как первую, проектируем вторую форму (рис. 19.18), за маркеры увеличиваем форму до размеров Size (420; 420). Вводим на эту форму элемент управления в виде окна TextBox, для которого в панели Properties в свойстве Multiline выбираем значение True (для многострочного текста). Ниже размещаем кнопку Button со свойством Text = Выход.

Рис. 19.18.

Форма Form2.

19.3. Код и запуск программы

Открываем файл Form1.vb (например, по схеме: File, Open, File) и в классе Form1 записываем следующие переменные и методы.

Листинг 19.1. Переменные и методы.

'Массив для загадываемого слова из 20 (и менее) букв

'с индексами 0,1,2,3,…,19:

Dim str(19) As String

Dim nums As Integer

На первой форме Form1 в режиме проектирования дважды щёлкаем по кнопке Button с именем для первой буквы используемого в данной игре английского алфавита Name = A (или в панели Properties для этого элемента на вкладке Events дважды щёлкаем по имени соответствующего события).

Появившийся шаблон метода после записи нашего кода принимает следующий вид.

Листинг 19.2. Метод-обработчик щелчка кнопки.

Private Sub A_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles A.Click

A.Enabled = False

nums = Len(Word_in.Text)

Try

str(0) = Mid(Word_in.Text, nums, 1)

str(1) = Mid(Word_in.Text, nums – 1, 1)

str(2) = Mid(Word_in.Text, nums – 2, 1)

str(3) = Mid(Word_in.Text, nums – 3, 1)

str(4) = Mid(Word_in.Text, nums – 4, 1)

str(5) = Mid(Word_in.Text, nums – 5, 1)

str(6) = Mid(Word_in.Text, nums – 6, 1)

str(7) = Mid(Word_in.Text, nums – 7, 1)

str(8) = Mid(Word_in.Text, nums – 8, 1)

str(9) = Mid(Word_in.Text, nums – 9, 1)

str(10) = Mid(Word_in.Text, nums – 10, 1)

str(11) = Mid(Word_in.Text, nums – 11, 1)

str(12) = Mid(Word_in.Text, nums – 12, 1)

str(13) = Mid(Word_in.Text, nums – 13, 1)

str(14) = Mid(Word_in.Text, nums – 14, 1)

str(15) = Mid(Word_in.Text, nums – 15, 1)

str(16) = Mid(Word_in.Text, nums – 16, 1)

str(17) = Mid(Word_in.Text, nums – 17, 1)

str(18) = Mid(Word_in.Text, nums – 18, 1)

str(19) = Mid(Word_in.Text, nums – 19, 1)

Catch ex As Exception

End Try

If Word_in.TextLength = 1 Then

If str(0) = "a" Then

Chr1.Text = "A"

End If

ElseIf Word_in.TextLength = 2 Then

If str(1) = "a" Then

Chr1.Text = "A"

End If

If str(0) = "a" Then

Chr2.Text = "A"

End If

ElseIf Word_in.TextLength = 3 Then

If str(0) = "a" Then

Chr3.Text = "A"

End If

If str(1) = "a" Then

Chr2.Text = "A"

End If

If str(2) = "a" Then

Chr1.Text = "A"

End If

ElseIf Word_in.TextLength = 4 Then

If str(0) = "a" Then

Chr4.Text = "A"

End If

If str(1) = "a" Then

Chr3.Text = "A"

End If

If str(2) = "a" Then

Chr2.Text = "A"

End If

If str(3) = "a" Then

Chr1.Text = "A"

End If

ElseIf Word_in.TextLength = 5 Then

If str(0) = "a" Then

Chr5.Text = "A"

End If

If str(1) = "a" Then

Chr4.Text = "A"

End If

If str(2) = "a" Then

Chr3.Text = "A"

End If

If str(3) = "a" Then

Chr2.Text = "A"

End If

If str(4) = "a" Then

Chr1.Text = "A"

End If

ElseIf Word_in.TextLength = 6 Then

If str(0) = "a" Then

Chr6.Text = "A"

End If

If str(1) = "a" Then

Chr5.Text = "A"

End If

If str(2) = "a" Then

Chr4.Text = "A"

End If

If str(3) = "a" Then

Chr3.Text = "A"

End If

If str(4) = "a" Then

Поделиться:
Популярные книги

Архил…? Книга 3

Кожевников Павел
3. Архил...?
Фантастика:
фэнтези
попаданцы
альтернативная история
7.00
рейтинг книги
Архил…? Книга 3

Сила рода. Том 3

Вяч Павел
2. Претендент
Фантастика:
фэнтези
боевая фантастика
6.17
рейтинг книги
Сила рода. Том 3

Прометей: владыка моря

Рави Ивар
5. Прометей
Фантастика:
фэнтези
5.97
рейтинг книги
Прометей: владыка моря

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Хозяйка дома на холме

Скор Элен
1. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка дома на холме

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

Последний Паладин

Саваровский Роман
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин

Мастер 6

Чащин Валерий
6. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 6

Столичный доктор. Том III

Вязовский Алексей
3. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том III

Наследник и новый Новосиб

Тарс Элиан
7. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник и новый Новосиб

Вперед в прошлое 5

Ратманов Денис
5. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 5

Последняя Арена 10

Греков Сергей
10. Последняя Арена
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Последняя Арена 10

Релокант

Ascold Flow
1. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант

Совок-8

Агарев Вадим
8. Совок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Совок-8