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

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

СКАЧАТЬ программирования уничтожений летающих объектов и подсчёта очков

      5.1. Определение прямоугольников, описанных вокруг объектов

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

      Rob Miles. Games Programming with Cheese: Part Two.

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

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

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

      Прямоугольник, описанный вокруг изображения батона хлеба 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 СКАЧАТЬ