Игра — Поймай кузнечика

Решаем задачу с книги Лукина «Понятно о Visual Basic.Net»

«Ловля кузнечика или измеритель шустрости». Создайте проект с большой формой и одной очень маленькой кнопкой. При нажатии на кнопку она должна прыгать в случайное место формы. Вы щелкнули по кнопке – она прыгнула, вы снова поскорее щелк-нули – она снова прыгнула, и так далее. Старайтесь щелкать как можно чаще. Можете засечь, сколько раз вам удалось щелкнуть за 1 минуту. Побеждает тот, у кого за 1 минуту кнопка прыгнет наибольшее число раз.

Примечание: Время засекается с помощью внешних источников, так как в Visual Basic данный элемент ещё не пройдён

Решение:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button1.Left = (Me.Width - Button1.Width * 2) * Rnd() ' случайные координаты по ширине
        Button1.Top = (Me.Height - Button1.Height * 2) * Rnd() 'случайные координаты по высоте

    End Sub
End Class
  1. Убираем с кнопки надпись
  2. Закачиваем с интернета рисунок кузнечика и прикрепляем его на кнопку в свойствах Image кнопки.
  3. Смотрим какой фон у формы у кузнечика , ставим такой же на форме.
  4. Я поставил в свойствах кнопки (Cursor — hand), чтобы легче было ловить кузнечика.
  5. К сожалению как убрать бордюр на кнопке не нашёл , есть свойство FlatStyle, но оно бордюр не убирает. Можно использовать PictureBox, но у нас задание с кнопкой, поэтому не заморачиваемся и работаем дальше.
  6. Пишем код на кнопку. Чтобы наша кнопка не заползала за форму, так как размер формы у всех может быть разный, применена формула (Me.Width — Button1.Width * 2) тоже самое с высотой. То есть кнопка не должна приближаться ближе к границе формы, чем двойная ширина самой кнопки.
  7. Программа готова. Можно играть.
  8.  

Усложняем задание. Программа должна писать количество нажатий на кнопку.

Public Class Form1
    Dim k As Integer = 0

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button1.Left = (Me.Width - Button1.Width * 2) * Rnd() ' случайные координаты по ширине
        Button1.Top = (Me.Height - Button1.Height * 2) * Rnd() 'случайные координаты по высоте
        k = k + 1 'добавляем счётчик
        TextBox1.Text = k 'выводим количество в текст бокс

    End Sub

 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox1.Text = ""
        k = 0
    End Sub
End Class

  1. Используем Label и textbox.
  2. Ещё усложним, поместим на форму вторую кнопку для очистки кол-ва нажатий предыдущего игрока.
  3. Можно подкорректировать случайные координаты кузнечика, чтобы он не прыгал на наш label и textbox. Но я не стал этого делать.

Скачать программу: Ловим кузнечика
Установки не требует.
Файл exe. Размер 22.5kb.
На компьютере должен быть установлен net.framework 3.5 и выше.


Внимание!!! На некоторых компьютерах, у меня к примеру, система не даёт запускаться файлам с расширением .Exe . Всё просто, эти файлы исполняемые, и система их блокирует, как и любой файл Exe от сторонних разработчиков. В моих программах вирусов нет, можно проверить на любом сайте онлайн проверки на вирусы, или сам файл антивирусником. Если вы всё равно остерегаетесь, то используйте сам код программы в Visual Studio.net 2008

 

Запись опубликована в рубрике Мои программы, Решение заданий vb.net. Добавьте в закладки постоянную ссылку.