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

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


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

rel="nofollow" href="#_16.jpg"/>

      Рис. 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