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

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


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

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 cheeseRectangle As Rectangle

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

      Dim breadRectangle As Rectangle

      а затем в каком-либо методе создадим (при помощи ключевого слова new) и инициализируем эти объекты-прямоугольники, например, так:

      cheeseRectangle = New Rectangle(cx, cy, _

      cheeseImage.Width, cheeseImage.Height)

      breadRectangle = New Rectangle(bx, by, _

      breadImage.Width, breadImage.Height)

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

      В этой структуре Rectangle (из пространства имён System.Drawing) имеются методы, которые могут обнаруживать пересечения различных перемещающихся прямоугольников. Эти методы определяют, находится ли точка одного прямоугольника внутри другого прямоугольника, и если находится, то программа определяет эту ситуацию и как столкновение этих двух прямоугольников, и как столкновение двух объектов, расположенных внутри этих прямоугольников.

      Когда далее при написании программы мы поставим оператор-точку “.” после какого-либо объекта структуры Rectangle, то увидим подсказку с двумя основными методами Intersect и IntersectsWith (рис. 5.2) для обнаружения пересечения двух прямоугольников.

      

      Рис. 5.2. Подсказка с методами Intersect и IntersectsWith.

      Определение для наиболее применяемого метода IntersectsWith (который далее и мы будем часто применять) с параметром (Rectangle rect) структуры Rectangle на главных (в мире программирования) языках приведено в табл. 5.2.

      Таблица