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

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


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

= 4

      TextBox1.Multiline = True

      TextBox1.Left = -20

      'Start the game

      StartGame()

      End Sub

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

      Листинг 22.3. Метод для закрытия формы.

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

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

      Handles MyBase.FormClosing

      ' '–

      ' 'Cleanup

      ' '–

      '–

      'Free up the form based objects

      '–

      m_playfieldManager = Nothing

      If Not (m_myFormsGraphics Is Nothing) Then

      m_myFormsGraphics.Dispose()

      m_myFormsGraphics = Nothing

      End If

      '–

      'Free up all the global objects

      '–

      g_DisposeAndFreeGlobals()

      End Sub

      На форме дважды щёлкаем по кнопке Button с номером 1 и текстом “Новая игра” (или в панели Properties, для этого элемента, на вкладке Events дважды щёлкаем по имени соответствующего события). Появившийся шаблон после записи нашего кода принимает следующий вид.

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

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

      ByVal e As System.EventArgs) Handles Button2.Click

      StartGame()

      End Sub

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

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

      Private Sub ButtonNextLevel_Click( _

      ByVal sender As System.Object, ByVal e As System.EventArgs) _

      Handles ButtonNextLevel.Click

      '–

      'Starts a new level of play

      '–

      'Ask the current level what it's next level is

      m_playfieldManager = m_playfieldManager.GetNextLevel()

      'Start the level running

      InitializeNewLevel()

      End Sub

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

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

      Private Sub buttonInstructions_Click( _

      ByVal sender As System.Object, ByVal e As System.EventArgs) _

      Handles buttonInstructions.Click

      MsgBox("Правила игры: Соберите все факелы и " + _

      "принесите их Еве. Очки засчитываются " + _

      "за каждый факел данного уровня, " + _

      "за оставшееся время бонуса и за энергию игрока, " _

      + "оставшуюся в конце каждого уровня.")

      MsgBox("Адам потеряет энергию, если он будет поражён " + _

      "валуном или птицей. Адам будет подскакивать, " + _

      "чтобы не быть поражённым этими объектами. " + _

      "Адам также потеряет энергию, " + _

      "если он упадёт с большой высоты.")

      MsgBox("Управление Адамом состоит в том, " + _

      "чтобы щёлкать по экрану. После каждого щелчка " + _

      "появляется пунктирная линия, показывающая, " + _

      "куда пойдёт Адам. Чтобы Адам подпрыгнул " + _

      "от валуна или птицы, " + _

      "следует нажать клавишу пробела.")

      'Bring the focus back to the textbox

      'so it gets the keyboard input

      TextBox1.Focus()

      End Sub

      В панели Properties, для элемента TextBox, на вкладке Events дважды щёлкаем по имени события KeyDown. Появившийся шаблон после записи нашего кода принимает следующий вид.

      Листинг 22.7. Метод-обработчик события.

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

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

      Handles TextBox1.KeyDown

      '–

      'This textbox is a way to get the keyboard input

      'for