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

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

СКАЧАТЬ Me.ones}

      Dim scoreString As String = score.ToString().PadLeft(5)

      Dim digits() As String = { _

      scoreString.Chars(0), _

      scoreString.Chars(1), _

      scoreString.Chars(2), _

      scoreString.Chars(3), _

      scoreString.Chars(4)}

      For index As Integer = 0 To 4

      If digits(index) <> " " Then

      images(index).Image = _

      numbers.Images(CInt(digits(index)))

      Else

      images(index).Image = Nothing

      End If

      Next

      End Sub

      Private Sub StartNewGame()

      ' If a game is already running, check for a new high score.

      If Not matrix Is Nothing Then

      Me.Timer1.Enabled = False

      HighScores.UpdateScores(score)

      End If

      Timer1.Enabled = False

      matrix = New Grid(6)

      score = 0

      matrix.Draw(Me.PictureBox1.CreateGraphics(), _

      Me.PictureBox1.BackColor)

      Timer1.Enabled = True

      AddHandler PictureBox1.MouseDown, AddressOf BlockClick

      'Обнуляем счётчик секунд:

      secondCounter = 0

      End Sub

      ' To pause the game, turn off the timer.

      Private Sub Pause()

      Timer1.Enabled = False

      Me.PauseToolStripMenuItem.Visible = False

      Me.RestartToolStripMenuItem.Visible = True

      RemoveHandler PictureBox1.MouseDown, AddressOf BlockClick

      paused = True

      End Sub

      Private Sub ShowOptions()

      'Dim optionsForm As New Options

      Dim optionsForm As New Form2

      optionsForm.SoundOn = isSoundOn

      optionsForm.ShowDialog()

      isSoundOn = optionsForm.SoundOn

      optionsForm.Dispose()

      End Sub

      Private Sub Restart()

      Timer1.Enabled = True

      Me.PauseToolStripMenuItem.Visible = True

      Me.RestartToolStripMenuItem.Visible = False

      AddHandler PictureBox1.MouseDown, AddressOf BlockClick

      paused = False

      End Sub

      Private Sub EndGame()

      ' Get top scores so far.

      Me.Timer1.Enabled = False

      HighScores.UpdateScores(score)

      Me.Close()

      End Sub

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

      Листинг 20.2. Метод для загрузки объектов.

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

      ByVal e As System.EventArgs) Handles MyBase.Load

      PointTranslator.Graphics = Me.PictureBox1.CreateGraphics()

      Me.PictureBox1.Width = Block.BlockSize * 12

      Me.PictureBox1.Height = Block.BlockSize * 15

      HighScores.SetUpHighScores()

      ' Setup the background color and the starting score.

      Me.BackColor = Color.White

      Me.ones.Image = Me.numbers.Images(0)

      Me.tens.Image = Me.numbers.Images(0)

      Me.hundreds.Image = Me.numbers.Images(0)

      Me.Menu = Nothing

      End Sub

      Дважды щёлкаем по команде New Game для элемента управления MenuStrip. Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

      Листинг 20.3. Метод-обработчик выбора команды.

      Private Sub NewGameToolStripMenuItem_Click( _

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

      Handles NewGameToolStripMenuItem.Click

      StartNewGame()

      End Sub

      Дважды щёлкаем по команде Pause для элемента управления MenuStrip. Появляется шаблон метода, который после записи нашего кода принимает следующий вид.

      Листинг 20.4. Метод-обработчик выбора команды.

      Private Sub PauseToolStripMenuItem_Click( _

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

      Handles PauseToolStripMenuItem.Click

      Me.Pause()

СКАЧАТЬ