Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 9: Программирование на Visual C# искусственного интеллекта. Издание 3. Валерий Алексеевич Жарков

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

Читать онлайн книгу Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 9: Программирование на Visual C# искусственного интеллекта. Издание 3 - Валерий Алексеевич Жарков страница 15

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 9: Программирование на Visual C# искусственного интеллекта. Издание 3 - Валерий Алексеевич Жарков

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

Timer) в свойстве Enabled мы оставили булево значение False.

      Кроме того, таймер не должен быть включенным, пока программа не загрузит изображение. Поэтому в приведённый выше метод Form1_Paint дописываем в самом низу:

      //We turn on the timer:

      timer1.Enabled = true;

      Окончательно, код в теле метода Form1_Paint должен иметь такой вид.

      Листинг 4.3. Метод для рисования изображения.

      Текст программы опубликован в предыдущем Издании книги.

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

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

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

      Текст программы опубликован в предыдущем Издании книги.

      Строим и запускаем программу на выполнение обычным образом:

      Build, Build Selection; Debug, Start Without Debugging.

      В ответ Visual C# выводит форму Form1 в режиме выполнения, на которой изображение типа встроенного нами рисунка сыра cheese.jpg перемещается из верхнего левого угла по диагонали сверху вниз (в нижний правый угол) и скрывается (рис. 4.3).

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

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

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

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

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

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

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

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

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

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

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

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