Число задумывает пользователь, а компьютер его отгадывает - VB

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

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

Число задумывает пользователь, а компьютер его отгадывает. Хорошо бы, чтобы компьютер действовал не "методом тыка", а "методом научного тыка", который отличается тем, что каждый следующий тык основывается на результатах предыдущих тыков и сокращает количество возможных значений более чем на 1.

Решение задачи: «Число задумывает пользователь, а компьютер его отгадывает»

textual
Листинг программы
Dim Counter As Integer
Dim Max As Integer
Dim Min As Integer
Dim MyEvent As Boolean
 
 
Private Sub Command1_Click()
   If Val(Label2.Caption) > 1 Then
      Max = Val(Label2.Caption)
      Label2.Caption = Try(True)
    ElseIf Val(Label2.Caption) = 1 Then
      Label2.Caption = "0"
      MsgBox "Диапазон закончился", vbOKOnly + vbInformation, "Выходим": Unload Me
   End If
End Sub
 
Private Sub Command2_Click()
   If Val(Label2.Caption) < 99 Then
      Min = Val(Label2.Caption)
      Label2.Caption = Try(False)
    ElseIf Val(Label2.Caption) = 99 Then
      Label2.Caption = "100"
      MsgBox "Диапазон закончился", vbOKOnly + vbInformation, "Выходим": Unload Me
   End If
End Sub
 
Private Sub Command3_Click()
   MsgBox "Ура! :-)", vbOKOnly + vbExclamation, "": Unload Me
End Sub
 
Private Sub Form_Load()
   Counter = 10
   Max = 100: Min = 0
   Me.Caption = "Осталось попыток: " & Trim$(Str$(Counter))
   MsgBox "Загадайте число от 0 до 100, а я попробую его угадать...", vbOKOnly + vbInformation, ""
   Me.Show
   Label2.Caption = Try(False)
End Sub
 
Function Try(MyEvent) As Integer
   Try = (Max - Min) \ 2
   If MyEvent Then
      Try = Val(Label2.Caption) - Try    'много
    Else
      Try = Val(Label2.Caption) + Try    'мало
   End If
   Counter = Counter - 1
   Me.Caption = "Осталось попыток: " & Trim$(Str$(Counter))
   If Counter = 0 Then MsgBox "Попытки кончились. Я не угадал :-(", vbOKOnly + vbExclamation, "": End
End Function

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


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

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

5   голосов , оценка 4.6 из 5
Похожие ответы