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

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


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

формы Form1 с пользовательским интерфейсом игры).

      Теперь в наш проект добавляем новые файлы (для программирования соответствующих игровых действий). Добавить в проект файл можно по двум вариантам.

      По первому варианту, добавляем в проект нужный файл по обычной схеме: в панели Solution Explorer выполняем правый щелчок по имени проекта, в контекстном меню выбираем Add, Existing Item, в панели Add Existing Item в окне “Files of type” выбираем “All Files”, в центральном окне находим (например, в папке компьютера файл, скопированный из Интернета), выделяем имя этого файла и щёлкаем кнопку Add (или дважды щёлкаем по имени этого файла).

      По второму варианту, в панели Solution Explorer выполняем правый щелчок по имени проекта и в контекстном меню выбираем Add, New Item, в панели Add New Item выделяем шаблон Code File, в окне Name записываем имя DPaint.vb и щёлкаем кнопку Add. В проект (и в панель Solution Explorer) добавляется этот файл, открывается пустое окно редактирования кода, в которое записываем код со следующего листинга.

      Листинг 21.9. Новый файл.

      Public Class DPaint

      Private _number As String

      Private _position As Point

      Private _color As Color

      Private _pen As Pen

      Private _thick As Integer

      Private _width As Integer

      Private _brush As SolidBrush

      #Region "Property Declaration"

      Public Sub New()

      '_color = Color.Yellow

      'Для большей чёткости задаём красный цвет цифр для очков

      'и времени:

      _color = Color.Red

      _brush = New SolidBrush(_color)

      _number = 0

      End Sub

      Public Sub New(ByVal number As Integer)

      Me.number = number

      _color = Color.Yellow

      _brush = New SolidBrush(_color)

      End Sub

      Public Property number() As Double

      Get

      Return CDbl(_number)

      End Get

      Set(ByVal Value As Double)

      _number = Value.ToString

      _number = _number.PadLeft(8, "0")

      End Set

      End Property

      Public Property position() As Point

      Get

      Return _position

      End Get

      Set(ByVal Value As Point)

      _position = Value

      End Set

      End Property

      Public Property thick() As Integer

      Get

      Return _thick

      End Get

      Set(ByVal Value As Integer)

      _thick = Value

      End Set

      End Property

      Public Property width() As Integer

      Get

      Return _width

      End Get

      Set(ByVal Value As Integer)

      _width = Value

      End Set

      End Property

      #End Region

      #Region "Show digital Number"

      Private Function conPol(ByVal i As Integer) As Point()

      Dim c, h As Integer

      Dim x As Integer = _position.X

      Dim y As Integer = _position.Y

      Dim poly(3) As Point

      Select Case i

      Case 1

      c = x

      h = y – _width – 2

      poly(0).X = c

      poly(0).Y = h

      poly(1).X = c + _width

      poly(1).Y = h

      poly(2).X = c + _width – _thick

      poly(2).Y = h + _thick

      poly(3).X = c + _thick

      poly(3).Y = h + _thick

      Return poly

      Case 2

      c = x + _width

      h = y – _width – 1

      poly(0).X = c

      poly(0).Y = h

      poly(1).X = c

      poly(1).Y = h + _width

      poly(2).X = c – _thick

      poly(2).Y = h + _width – _thick / 2

      poly(3).X = c – _thick

      poly(3).Y = h + _thick

      Return poly

      Case 3

      c = x + _width

      h = y + 1

      poly(0).X = c

      poly(0).Y = h

      poly(1).X = c

      poly(1).Y = h + _width

      poly(2).X = c – _thick

      poly(2).Y = h + _width – _thick

      poly(3).X = c – _thick

      poly(3).Y = h + _thick / 2

      Return poly

      Case 4

      c = x + _width

      h = y + _width + 2

      poly(0).X = c

      poly(0).Y = h

      poly(1).X = c – _width

      poly(1).Y = h

      poly(2).X = c – _width + _thick

      poly(2).Y = h – _thick

      poly(3).X = c – _thick

      poly(3).Y = h – _thick

      Return