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

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

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

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

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

в проект файл изображения заданного формата

      'при помощи потока встроенного ресурса (ResourceStream):

      cheeseImage = _

      New Bitmap(myAssembly.GetManifestResourceStream( _

      myName_of_project + "." + "cheese.JPG"))

      'Рисуем изображение на форме Form1:

      e.Graphics.DrawImage(cheeseImage, cx, cy)

      'Включаем таймер:

      Timer1.Enabled = True

      End Sub

      Теперь всякий раз, когда вызывается метод Form1_Paint, программа рисует сыр на экране с соответствующими координатами cx и cy.

      Дважды щёлкаем по значку для компонента Timer (ниже формы в режиме проектирования). Появляется шаблон метода timer1_Tick, который после записи нашего метода updatePositions и библиотечного метода Invalidate (или Refresh) для перерисовки изображения на экране принимает следующий вид.

      Листинг 4.4. Метод для смены кадров на экране и перемещения фигуры.

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

      ByVal e As System.EventArgs) Handles Timer1.Tick

      'Вызываем метод:

      updatePositions()

      'Перерисовываем экран:

      Invalidate()

      End Sub

      Строим и запускаем программу на выполнение обычным образом: Build, Build Selection; Debug, Start Without Debugging. В ответ VS выводит панель Deploy (с именем проекта), на которой выбираем устройство (Device) типа Windows Mobile 6 Classic (или Professional) Emulator и щёлкаем кнопку Deploy. Появляется форма в режиме выполнения, на форме Form1 которого изображение типа встроенного нами рисунка сыра cheese.jpg из верхнего левого угла перемещается по диагонали сверху вниз (в нижний правый угол) и скрывается (рис. 4.3).

      Изображение объекта мерцает, что в дальнейшем будет исправлено применением двойной буферизации.

      Таким образом, мы разработали методику анимации, по которой можно перемещать любые объекты на экране .

      Рис. 4.3. Объект перемещается по диагонали сверху вниз.

      Рис. 4.4. Отскок объекта.

      4.3. Методика проектирования отскока объекта от границы

      Разработаем методику решения задачи по отскоку заданного нами объекта от заданных нами границ, например, от границ экрана. В качестве предмета и замкнутого пространства могут быть, например:

      резиновый мяч, металлический или пластмассовый шар, который с большой силой бросил человек в каком-то помещении; предмет летает внутри помещения и отскакивает от пола, потолка и стен этого помещения;

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

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

      Мы также введём большое число допущений, после чего задачу формулируем так:

      решаем плоскую задачу, т.е. предмет изображаем в виде его проекции на плоскость “x, y”; в качестве примера предмета выбираем кусочек сыра cheese.jpg, проекция которого на плоскость имеет вид прямоугольника;

      на этой плоскости “x, y” замкнутое пространство изображаем в виде задаваемой нами замкнутой линии; в качестве примера

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