
Решаем задачу с книги Лукина «Понятно о 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
- Убираем с кнопки надпись
- Закачиваем с интернета рисунок кузнечика и прикрепляем его на кнопку в свойствах Image кнопки.
- Смотрим какой фон у формы у кузнечика , ставим такой же на форме.
- Я поставил в свойствах кнопки (Cursor — hand), чтобы легче было ловить кузнечика.
- К сожалению как убрать бордюр на кнопке не нашёл , есть свойство FlatStyle, но оно бордюр не убирает. Можно использовать PictureBox, но у нас задание с кнопкой, поэтому не заморачиваемся и работаем дальше.
- Пишем код на кнопку. Чтобы наша кнопка не заползала за форму, так как размер формы у всех может быть разный, применена формула (Me.Width — Button1.Width * 2) тоже самое с высотой. То есть кнопка не должна приближаться ближе к границе формы, чем двойная ширина самой кнопки.
- Программа готова. Можно играть.
Усложняем задание. Программа должна писать количество нажатий на кнопку.
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
- Используем Label и textbox.
- Ещё усложним, поместим на форму вторую кнопку для очистки кол-ва нажатий предыдущего игрока.
- Можно подкорректировать случайные координаты кузнечика, чтобы он не прыгал на наш label и textbox. Но я не стал этого делать.
Скачать программу: Ловим кузнечика
Установки не требует.
Файл exe. Размер 22.5kb.
На компьютере должен быть установлен net.framework 3.5 и выше.
Внимание!!! На некоторых компьютерах, у меня к примеру, система не даёт запускаться файлам с расширением .Exe . Всё просто, эти файлы исполняемые, и система их блокирует, как и любой файл Exe от сторонних разработчиков. В моих программах вирусов нет, можно проверить на любом сайте онлайн проверки на вирусы, или сам файл антивирусником. Если вы всё равно остерегаетесь, то используйте сам код программы в Visual Studio.net 2008