Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта. Валерий Алексеевич Жарков

Чтение книги онлайн.

Читать онлайн книгу Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта - Валерий Алексеевич Жарков страница 18

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта - Валерий Алексеевич Жарков

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

перемещается объект), то поступаем следующим образом. Согласно разработанной в наших предыдущих книгах методике использования в приложении типа Visual C# метода (функции) из любого другого языка, на первом этапе необходимо создать ссылку на тот язык, например, на Visual Basic. Для этого в меню Project выбираем команду Add Reference, в панели Add Reference на вкладке (.NET) выбираем ссылку Microsoft.VisualBasic и щёлкаем кнопку OK. А в соответствующий метод, например, updatePositions записываем строку:

      Microsoft.VisualBasic.Interaction.Beep();

      в тех местах, где нам нужен этот сигнал.

      Так как в данной книге мы разрабатываем приложения типа Visual Basic, то нам не нужно добавлять ссылку Microsoft.VisualBasic, а нужно просто записать строку (вызвать метод):

      Beep()

      в тех местах, где нам нужен этот сигнал.

      Таким образом, в данном проекте приведённый выше метод updatePositions заменяем на следующий.

      Листинг 4.6. Отскок объекта от границ.

      'Текущее приращение перемещения по оси "x":

      Dim xSpeed As Integer = 1

      'Текущее приращение перемещения по оси "y":

      Dim ySpeed As Integer = 1

      'Метод для увеличения скорости перемещения:

      Private Sub changeSpeed(ByVal change As Integer)

      xSpeed += change

      ySpeed += change

      End Sub

      'Метод для изменения координат объекта:

      Private Sub updatePositions()

      If (goingRight) Then

      cx += xSpeed

      Else

      cx -= xSpeed

      End If

      If ((cx + cheeseImage.Width) >= _

      Me.ClientSize.Width) Then

      goingRight = False

      'В момент столкновения подаем звуковой сигнал Beep:

      Beep()

      End If

      If (cx <= 0) Then

      goingRight = True

      'В момент столкновения подаем звуковой сигнал Beep:

      Beep()

      End If

      If (goingDown) Then

      cy += ySpeed

      Else

      cy -= ySpeed

      End If

      If ((cy + cheeseImage.Height) >= _

      Me.ClientSize.Height) Then

      goingDown = False

      'В момент столкновения подаем звуковой сигнал Beep:

      Beep()

      End If

      If (cy <= 0) Then

      goingDown = True

      'В момент столкновения подаем звуковой сигнал Beep:

      Beep()

      End If

      End Sub

      Для управления скоростью перемещения объекта воспользуемся каким-либо элементом управления или компонентом, например, наиболее распространённым элементом Button (Кнопка). С панели инструментов Toolbox размещаем на форме две кнопки Button и в панели Properties в свойстве Text для левой кнопки записываем “Быстрее”, а для правой кнопки – “Медленнее”. Отметим, что для этих целей вместо кнопок Button (чтобы не загромождать форму) можно использовать и клавиши клавиатуры по описанной далее методике.

      В режиме редактирования дважды щёлкаем по левой кнопке “Быстрее”.

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

      Листинг 4.7. Метод для изменения скорости объекта.

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

      ByVal e As System.EventArgs) Handles Button1.Click

      changeSpeed(1)

      End

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