//если игра идет с человеком, то
//включаем ввод для второго игрока
ch2.Enabled:= True;
рl2.Enabled:= True;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ((StrToInt(finish.Text) > StrToInt(start.Text)) and (StrToInt(start.Text) > 0) and (StrToInt(finish.Text) < 60000))
then {проверяем, не выходит ли заданное пользователем число за допустимые пределы}
{загадаем случайное число в заданном диапазоне}
num:= Random(StrToInt(finish.Text) – StrToInt(start.Text)) + StrToInt(start.Text)
else ShowMessage('Неверный диапазон!');
//обнуляем все, и придаем программе начальный вид
znak1.Caption:= '';
znak2.Caption:= '';
ch1.Enabled:= True;
ch2.Enabled:= False;
pl1.Enabled:= True;
pl2.Enabled:= False;
x.Caption:= 'X';
ch1.Text:= '0';
ch2.Text:= '0';
//очистим массивы наибольших и наименьших чисел
for i:= 1 to kolvo+1 do begin
minimum[i]:= 0;
maximum[i]:= 0;
big:= StrToInt(finish.Text); //наибольшее число
small:= StrToInt(start.Text); //наименьшее число
end;
kolvo:= 0; //количество использованных попыток
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//увеличиваем количество попыток на единицу
kolvo:= kolvo + 1;
if not comp.Checked then //если идет игра с человеком
begin
if pl1.Enabled then begin //если ход первого игрока
//если вариант больше загаданного числа, ставим знак >
if StrToInt(ch1.Text) > num then znak1.Caption:= '>';
//если вариант меньше загаданного числа, ставим знак <
if StrToInt(ch1.Text) < num then znak1.Caption:= '<';
if StrToInt(ch1.Text) = num then //если число угадано
begin
znak1.Caption:= '='; //изменим знак на "="
//вместо знака "X" показываем загаданное число
х.Caption:= IntToStr(num);
//выводим сообщение о победе первого игрока
ShowMessage('Победил первый игрок!' + #13#10 + 'Число угадано за ' + IntToStr(kolvo) + ' попытки')
end;
//передаем ход второму игроку
pl1.Enabled:= False;
ch1.Enabled:= False;
ch2.Enabled:= True;
pl2.Enabled:= True;
Exit; //прерываем выполнение процедуры
end;
if pl2.Enabled then begin //если ход второго игрока
{сравниваем загаданное число с вариантом второго игрока и ставим соответствующий знак}
if StrToInt(ch2.Text) > num then znak2.Caption:= '>';
if StrToInt(ch2.Text) < num then znak2.Caption := '<';
if StrToInt(ch2.Text) = num then begin
znak2.Caption := '=';
x.Caption:= IntToStr(num);
ShowMessage('Победил второй игрок!' + #13#10 + 'Число угадано за ' + IntToStr(kolvo) + ' попытки')
end;
end;
//передаем ход первому игроку
рl2.Enabled:= False;
ch2.Enabled:= False;
ch1.Enabled:= True;
pl1.Enabled:= True;
Exit;
end;