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

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


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

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

      Также продолжаем методично и последовательно решать типичные задачи по созданию данной и всех подобных игр.

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

      Прямоугольник, описанный вокруг изображения батона хлеба bread.jpg, показан на рис. 5.1.

      Рис. 5.1. Прямоугольник, описанный вокруг хлеба.

      Ширина полей между объектом и описанным вокруг объекта прямоугольником должна быть сведена к минимуму, чтобы объект обязательно касался прямоугольника в как можно большем количестве точек и отрезков линий. Если начало прямоугольной системы координат “x, y” находится в верхнем левом углу экрана , то координаты верхней левой точки (bx, by) и нижней правой точки (bx + batWidth, by + batHeight) однозначно определяют данный прямоугольник на экране.

      В среде выполнения .NET Framework (для настольных компьютеров) известна структура Rectangle (из пространства имён System.Drawing), у которой метод-конструктор Rectangle Constructor имеет несколько перегрузок. Наиболее применяемая перегрузка метода-конструктора Rectangle Constructor (которую далее и мы будем часто применять) с параметрами (Int32, Int32, Int32, Int32) структуры Rectangle на главных (в мире программирования) языках приведена в табл. 5.1.

      Таблица 5.1.

      Метод-конструктор Rectangle Constructor (Int32, Int32, Int32, Int32) структуры Rectangle.

      Visual Basic (Declaration)

      Public Sub New ( _

      x As Integer, _

      y As Integer, _

      width As Integer, _

      height As Integer _

      )

      Visual Basic (Usage)

      Dim x As Integer

      Dim y As Integer

      Dim width As Integer

      Dim height As Integer

      Dim instance As New Rectangle(x, y, width, height)

      C#

      public Rectangle (

      int x,

      int y,

      int width,

      int height

      )

      C++

      public:

      Rectangle (

      int x,

      int y,

      int width,

      int height

      )

      J#

      public Rectangle (

      int x,

      int y,

      int width,

      int height

      )

      JScript

      public function Rectangle (

      x : int,

      y : int,

      width : int,

      height : int

      )

      В этом определении метода-конструктора Rectangle Constructor параметры переводятся так:

      x – координата “x” верхнего левого угла прямоугольника;

      y – координата “y” верхнего левого угла прямоугольника;

      width – ширина (по оси “x”) прямоугольника;

      height – высота (по оси “y”) прямоугольника.

      Далее в нашей программе мы сначала объявим прямоугольники, описанные вокруг объектов, как новые переменные, например, так:

      'Прямоугольник, описанный вокруг первого объекта:

      Dim