Чтение онлайн

ЖАНРЫ

Delphi. Учимся на примерах

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

Шрифт:

 //обнуляем все, и придаем программе начальный вид

 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:= '>';

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

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

x.Caption:= IntToStr(num);

ShowMessage('Вы проиграли!' + #13#10 + 'В этот раз победил компьютер!' + #13#10 + ' Число угадано за ' + IntToStr(kolvo) + ' попытки');

 end;

end;

end.

⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter09.

Глава 10

Вход в систему

Постановка задачи

Разработать программу, которая осуществляет вход в систему. Интерфейс входа в систему сначала скрывает все от пользователя, а затем просит ввести пароль. Если пароль верный, то разблокируем систему и выходим из программы. В противном случае, продолжаем требовать ввод пароля.

Поделиться с друзьями: