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

Читать онлайн книгу Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 6: Программирование на Visual Basic искусственного интеллекта. Продолжение 2 - Валерий Алексеевич Жарков страница 39

СКАЧАТЬ _

      MakeHankJump()

      Else

      '–

      'Figure out where on the game playfield we clicked

      '–

      Dim x_GAME As Integer

      Dim y_GAME As Integer

      x_GAME = e.X – GAME_SCREEN_DX

      y_GAME = e.Y – GAME_SCREEN_DY

      'Let Hank figure out what to do

      m_playfieldManager.HankTheWonderCaveman. _

      setHanksDestination(x_GAME, y_GAME)

      End If

      End If

      End Sub

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

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

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

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

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

      '–

      'This class represents one of the characters in the game,

      ' "BorisTheMenacingBird"

      '

      'It contains logic for the rendering and movement of the character

      '–

      Public Class BorisTheMenacingBird

      Inherits DrawablePlayfieldMultiFrameBitmap

      Private m_yVelocityBoris As Integer      'How fast are _

      'we traveling vertically?

      Private m_xVelocityBoris As Integer      'How fast are we

      'traveling vertically?

      Const MAX_DY_BORIS_FLYING = 4

      Private m_y_accelerationBorris As Integer

      Private m_world_I_Inhabit As PlayFieldManager

      Private m_myModeOfMovement As ModeOfMovement

      Public Enum ModeOfMovement As Integer

       Flying = 1

      End Enum

      'When did we last update a flipped image

      Private m_lastTickCountWhenImageFlipped As Integer

      Const DTIME_TO_FLAP_WINGS = 400      'Every 600 ms we should

      'flap our wings

      '–

      'These are the current image states for Hank

      '–

      Private Enum BorisImagesIndexes

       flyLeft1 = 1

       flyLeft2 = 2

      End Enum

      '–

      '[in] X,Y : Position to start Hank at

      '[in] worldHankInhabits : Playfield in which Hank lives

      '–

      Sub New(ByVal x As Integer, ByVal y As Integer, _

      ByVal world_I_Inhabit As PlayFieldManager)

       '–

       'Get the bitmaps for our character

       '–

       Dim col As Collection

       col = g_FlyingBirdPictureCollection()

       m_world_I_Inhabit = world_I_Inhabit

       ChangeMyMovementState(ModeOfMovement.Flying)

       'Start him off as falling.

       'Initialize our base class with these…

       MyBase.Initialize_DrawableMultiPlayfiedBitmapObject( _

      x, y, col, True)

       'Set the image index

       Me.CurrentFrameIndex = BorisImagesIndexes.flyLeft1

       'Set Boris' speed

       m_xVelocityBoris = -4

       m_y_accelerationBorris = 1

       '–

СКАЧАТЬ