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

Так как, в отличие от указанного выше оригинала, в нашем проекте при загрузке графических файлов имя проекта будет определяться в программе, то сейчас в окне Name можно записать любое имя. Создаётся проект, появляется форма Form1 в режиме проектирования (рис. 22.10). Оставляем по умолчанию или проектируем форму, как подробно описано в параграфе “Методика проектирования формы”. Например, в панели Properties (для Form1) в свойстве Font увеличиваем размер шрифта до 10. За маркеры увеличиваем размеры формы таким образом, чтобы в свойстве Size были, например, такие величины: 405; 456.

С панели инструментов Toolbox переносим в нижнюю часть формы элемент управления типа окна текста TextBox.

Ниже размещаем кнопку Button с номером 1. В панели Properties (для этого элемента) в свойстве Text записываем “Новая игра”.

Правее размещаем кнопку Button. В панели Properties (для этого элемента) в свойстве Name записываем ButtonNextLevel, а в свойстве Text записываем Уровень.

Правее размещаем кнопку Button. В панели Properties (для этого элемента) в свойстве Name записываем buttonInstructions, а в свойстве Text записываем Помощь.

Свойства и формы, и этих элементов управления можно изменять, как описано ранее.

Переносим таймер Timer. В панели Properties (для этого невидимого на форме компонента) в свойстве Name записываем timerGame, в свойстве Enabled выбираем True, а свойству Interval задаём значение 40 миллисекунд, что соответствует 25 кадрам в секунду по стандарту телевещания России.

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

В панели Solution Explorer выделяем все графические файлы (с нажатой клавишей Ctrl), а в панели Properties в свойстве Build Action (Действие при построении) вместо заданного по умолчанию выбираем значение Embedded Resource (Встроенный ресурс) для всех этих файлов.

Если в игре применяются несколько звуковых файлов, то их целесообразно разместить в одной папке с именем, например, Sounds. Для добавления в проект этой папки, в панели Solution Explorer выполняем правый щелчок по имени проекта, в контекстном меню выбираем Add, New Folder, в поле появившегося значка папки записываем имя папки и нажимаем клавишу Enter.

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





Рис. 22.10. Форма Form1 в режиме проектирования. Рис. 22.11. Панель Solution Explorer.

22.4. Код и запуск программы


Открываем файл Form1.vb (например, по схеме: File, Open, File) и в самом верху импортируем пространства имён для управления соответствующими классами:

Imports System.Reflection 'Для класса Assembly.

В классе Form1 нашего проекта записываем следующие переменные и методы.

Листинг 22.1. Переменные и методы.

'–

'Offsets on form where we should draw the playfield

'–

Const GAME_SCREEN_DX = 2

Const GAME_SCREEN_DY = 1

'Current playfield

Private m_playfieldManager As PlayFieldManager

'Gfx object of the form that we will render the playfield to

Dim m_myFormsGraphics As Graphics

'–

'Does the things we need to get get a round running

'–

Sub InitializeNewLevel

'Add a game event handler to get updates on the game

AddHandler m_playfieldManager.GameStateChanged, _

AddressOf GameEventOccured

'Start the game

timerGame.Enabled = True

ButtonNextLevel.Visible = False

'–

'Give the text-box focus so we can get keyboard events

'–

TextBox1.Focus

End Sub

'–

'Starts a new game

'–

Sub StartGame

'Мелодия начала игры с ожиданием окончания мелодии:

'My.Computer.Audio.Play("..\..\Sounds\drumpad-crash.wav", _

' AudioPlayMode.WaitToComplete)

'Мелодия начала игры без ожидания её окончания:

My.Computer.Audio.Play("..\..\Sounds\drumpad-crash.wav")

'–

'Create Graphics object and cache it

'–

If (m_myFormsGraphics Is Nothing) Then

m_myFormsGraphics = Me.CreateGraphics

End If

'–

'Create the playfield level we want to start on

'–

m_playfieldManager = New Playfield_Level2

'–

'Start the level running

'–

InitializeNewLevel

End Sub

Sub PictureBoxPlayField_MouseDown( _

ByVal sender As System.Object, _

ByVal e As System.Windows.Forms.MouseEventArgs)

'If Hank's around, give him a new destination

'If Not (m_HankTheWonderCaveMan Is Nothing) Then

If Not (m_playfieldManager Is Nothing) Then

m_playfieldManager.HankTheWonderCaveman. _

setHanksDestination(e.X, e.Y)

Перейти на страницу:

Похожие книги

Внедрение SAP R/3: Руководство для менеджеров и инженеров
Внедрение SAP R/3: Руководство для менеджеров и инженеров

Это практическое всеобъемлющие руководство было написано специально для тех, кто выбирает стратегию внедрения SAP в организации. «Внедрение SAP R/3: руководство для менеджеров и инженеров» объясняет, что означает понятие «эпоха ERP», почему информация является одним из ключевых ресурсов предприятия, как SAP способствует росту конкурентоспособности компании, а также преимущества методологии ASAP в планировании и использовании ресурсов при внедрении SAP. Подход к ERP-системам, используемый в данной книге, будет крайне полезен менеджерам и специалистам, которым необходимо представить высшему руководству своих компаний основания для внедрения SAP; кроме того, данная книга будет весьма полезной тем, кто занимается проектами SAP или планирует такой проект в ближайшем будущем. Для тех читателей, кто непосредственно занят в проектах SAP, эта книга станет надежным руководством и поможет внести существенный вклад в развитие проекта.

Вивек Кале

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT