Игра "Поймай кнопку" - VB

Узнай цену своей работы

Формулировка задачи:

Игра "Поймай кнопку" На форме помещена кнопка. Цель игры: тренировка реакции. 1) Пользователь выбирает размеры формы (в процентах от размера экрана) и размеры кнопки *также в процентах). 2) Пользователь выбирает время реакции, то есть то время, в течение которого нужно успеть заметить кнопку на форме и нажать на ее мышкой, иначе кнопка будет иметь новые координаты. 3) Игра началась, если пользователь успевает за время реакции нажать на кнопку, то он выиграл, иначе программа генерирует случайным образом новые координаты кнопки на любой области формы. Необходимо реализовать, чтобы новые координаты значительно отличались от существующих ( то есть нужен приличный разброс, чтобы не было скучно!). Помогите написать код для этой игры. Появилась идея, а как ее реализовать пока не понимаю.

Решение задачи: «Игра "Поймай кнопку"»

textual
Листинг программы
Dim PerF As Integer, PerB As Integer
Dim Inter As Single
 
Private Sub B_Click()
   If B.Caption = "Start" Then
        Timer1.Interval = Inter
        Timer1.Enabled = True
        B.Caption = "Catch me"
    Else
        MsgBox "QWERTYUIO!!!"
        B.Move Me.Width / 2 - B.Width / 2, Me.Height / 2 - B.Height / 2 - 300
        B.Caption = "Start"
        Timer1.Enabled = False
    End If
End Sub
 
Private Sub Command5_Click()
    Me.Height = Screen.Height / 100 * PerF
    Me.Width = Screen.Width / 100 * PerF
    Me.Move Screen.Width / 2 - Me.Width / 2, Screen.Height / 2 - Me.Height / 2
    B.Height = (Me.Height - 400) / 100 * PerB
    B.Width = Me.Width / 100 * PerB
    B.Move Me.Width / 2 - B.Width / 2, Me.Height / 2 - B.Height / 2 - 300
    Frame1.Visible = False
    B.Caption = "Start"
    B.Visible = True
End Sub
Private Sub Form_Load()
    Randomize
    PerF = 50: Text1.Text = PerF
    PerB = 12: Text2.Text = PerB
    Inter = 1000: Text3.Text = Inter / 1000
End Sub
 
Private Sub Command1_Click()
    PerF = PerF - 1
    If PerF <= 1 Then PerF = 1
    Text1.Text = PerF
End Sub
Private Sub Command2_Click()
    PerF = PerF + 1
    If PerF >= 100 Then PerF = 100
    Text1.Text = PerF
End Sub
Private Sub Command3_Click()
    PerB = PerB - 1
    If PerB <= 1 Then PerB = 1
    Text2.Text = PerB
End Sub
Private Sub Command4_Click()
    PerB = PerB + 1
    If PerB >= 100 Then PerB = 100
    Text2.Text = PerB
End Sub
Private Sub Command6_Click()
    Inter = Inter - 100
    If Inter <= 100 Then Inter = 100
    Text3.Text = Inter / 1000
End Sub
Private Sub Command7_Click()
    Inter = Inter + 100
    If Inter >= 10000 Then Inter = 10000
    Text3.Text = Inter / 1000
End Sub
Private Sub Timer1_Timer()
    Text4.SetFocus
    B.Move Rnd * (Me.Width - B.Width), Rnd * (Me.Height - B.Height - 400)
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5