Вход/Регистрация
Delphi. Учимся на примерах
вернуться

Парижский Сергей Михайлович

Шрифт:

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;

 if comp.Checked then begin //если игра против компьютера

{проверяем вариант первого игрока и ставим соответствующий знак}

if StrToInt(ch1.Text) > num then znak1.Caption:= '>';

if StrToInt(ch1.Text) < num then znak1.Caption:= '<';

  • Читать дальше
  • 1
  • ...
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: