Delphi. Учимся на примерах - [16]

Шрифт
Интервал

> procedure Button1Click(Sender: TObject);

> procedure Button2Click(Sender: TObject);

>private

> { Private declarations }

> procedure min();

> procedure max();

>public

> { Public declarations }

>end;


>var

> Form1: TForm1;

> num, j, i, kolvo, big, small: integer;

> maximum, minimum: array [1..100] of integer; {массивы максимальных и минимальных чисел}


>implementation

>{$R *.dfm}


>//процедура нахождения наименьшего числа

>procedure TForm1.min();

>begin

> for i:=1 to kolvo do begin

>  for j:=1 to kolvo do begin

>   {Если число меньше наименьшего, то оно становится наименьшим}

>   if minimum[j] > small then small:= minimum[j];

>  end;

> end;

>end;

>//процедура нахождения наибольшего числа

>procedure TForm1.max();

>var temp: integer;

>begin

> temp:= StrToInt(finish.Text);

> for i:=1 to kolvo do begin

>  for j:=1 to kolvo do begin

>   if temp > maximum[j] then

>    if maximum[j] > 0 then temp:= maximum[j]; {если число больше наибольшего…}

>  end;

> end;

> if ( (temp<>0) and (temp<>StrTolnt(finish.Text)) ) then

>  {… и если число входит в допустимый диапазон, то оно становится наибольшим}

>  big:= temp;

>end;


>procedure TForm1.compClick(Sender: TObject);

>begin

> if comp.Checked then begin //если флажок установлен

>  //блокируем ввод от второго игрока

>  ch2.Enabled:= False;

>  рl2.Enabled:= False;

>  //включаем ввод от первого игрока

>  ch1.Enabled:= True;

>  pl1.Enabled:= True;

> end

> else begin

>  //если игра идет с человеком, то

>  //включаем ввод для второго игрока

>  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;

> if comp.Checked 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) + ' попытки');

>   Exit;

>  end;

>  //если вариант первого игрока больше загаданного числа

>  if znak1.Caption = '>' then begin

>   maximum[kolvo]:= StrToInt(ch1.Text); {добавляем в массив наибольших чисел вариант первого игрока}

>   max();

>   //ищем наибольшее число

>  end;

>  //если вариант первого игрока меньше загаданного числа

>  if znak1.Caption = '<' then begin

>   minimum[kolvo]:= StrToInt(ch1.Text); {добавляем число в массив наименьших чисел, выданных первым игроком}

>   min();//ищем наименьшее число

>   end;

>   //после всех расчетов, компьютер выдает свой вариант

>   ch2.Text:= IntToStr(Random(big– small)+ small);

>  end;

>  //проверяем вариант компьютера и ставим соответствующий знак

>  if StrToInt(ch2.Text) > num then znak2.Caption:= '>';


Рекомендуем почитать
Графика DirectX в Delphi

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.