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

Handles ExitToolStripMenuItem.Click

Me.EndGame

End Sub

Дважды щёлкаем по элементу управления PictureBox с рисунком new.bmp (или в панели Properties для этого элемента на вкладке Events дважды щёлкаем по имени события Click). Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.8. Метод-обработчик щелчка по элементу.

Private Sub newGame_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles newGame.Click

StartNewGame

End Sub

Дважды щёлкаем по элементу управления PictureBox с рисунком exit.bmp (или в панели Properties для этого элемента на вкладке Events дважды щёлкаем по имени события Click). Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.9. Метод-обработчик щелчка по элементу.

Private Sub exitGame_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles exitGame.Click

EndGame

End Sub

Дважды щёлкаем по элементу управления PictureBox с рисунком options.bmp (или в панели Properties для этого элемента на вкладке Events дважды щёлкаем по имени события Click). Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.10. Метод-обработчик щелчка по элементу.

Private Sub options_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles options.Click

ShowOptions

End Sub

Для управления игрой мышью, в панели Properties (для формы Form1) на вкладке Events дважды щёлкаем по имени события MouseDown. Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.11. Метод-обработчик нажатия кнопки мыши.

Private Sub Form1_MouseDown(ByVal sender As System.Object, _

ByVal e As System.Windows.Forms.MouseEventArgs) _

Handles MyBase.MouseDown

mouseOffset = New Point(-e.X, -e.Y)

End Sub

Для управления игрой мышью, в панели Properties (для формы Form1) на вкладке Events дважды щёлкаем по имени события MouseMove. Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.12. Метод-обработчик перемещения мыши.

Private Sub Form1_MouseMove(ByVal sender As System.Object, _

ByVal e As System.Windows.Forms.MouseEventArgs) _

Handles MyBase.MouseMove

If e.Button = Windows.Forms.MouseButtons.Left Then

Dim mousePos As Point = Control.MousePosition

mousePos.Offset(mouseOffset.X, mouseOffset.Y)

Location = mousePos

End If

End Sub

Для управления игрой клавишами клавиатуры, в панели Properties (для формы Form1) на вкладке Events дважды щёлкаем по имени события KeyPress. Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.13. Метод-обработчик нажатия клавиши.

Private Sub Form1_KeyPress(ByVal sender As System.Object, _

ByVal e As System.Windows.Forms.KeyPressEventArgs) _

Handles MyBase.KeyPress

Select Case e.KeyChar

Case "p"c, "P"c

If paused Then

Restart

Else

Pause

End If

Case "m"c, "M"c

If Me.FormBorderStyle = _

Windows.Forms.FormBorderStyle.Fixed3D Then

Me.FormBorderStyle = _

Windows.Forms.FormBorderStyle.None

Me.Menu = Nothing

Else

Me.FormBorderStyle = _

Windows.Forms.FormBorderStyle.Fixed3D

'Me.Menu = Me.MainMenu1

End If

Case Else

' Do nothing.

End Select

End Sub

Чтобы программа периодически через Interval времени дополняла поле игры новыми разноцветными кругами (взамен выбитых игроком кругов), ниже формы дважды щёлкаем по значку для первого таймера Timer1 (или в панели Properties для этого компонента на вкладке Events дважды щёлкаем по имени события Tick). Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.14. Метод, вызываемый через Interval времени.

Private Sub Timer1_Tick(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Timer1.Tick

' Add another row to the grid and update the screen.

matrix.AddRow

matrix.Draw(Me.PictureBox1.CreateGraphics, _

Me.PictureBox1.BackColor)

End Sub

Чтобы в верхней части формы (на синей полоске для свойства Text) после начала игры шел отсчёт времени (Time), ниже формы дважды щёлкаем по значку для второго таймера Timer2 (или в панели Properties для этого компонента на вкладке Events дважды щёлкаем по имени события Tick). Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

Листинг 20.15. Метод, вызываемый через Interval времени.

'Счётчик секунд, который обнуляем в начале каждой игры

'в методе StartNewGame:

Dim secondCounter As Integer

'Время окончания игры:

Dim EndGameTime As Integer = 60

Private Sub Timer2_Tick(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Timer2.Tick

secondCounter = secondCounter + 1

Me.Text = "Time : " & secondCounter.ToString

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

If secondCounter = EndGameTime Then

My.Computer.Audio.Play( _

"..\..\Resources\win.wav", _

AudioPlayMode.Background)

End If

End Sub

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

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

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии