Число задумывает пользователь, а компьютер его отгадывает - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д