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

на главную - закладки

Жанры

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

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

Шрифт:

 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

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

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

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

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

На границе империй. Том 10. Часть 13

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 13

Двойник Короля 5

Скабер Артемий
5. Двойник Короля
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Двойник Короля 5

Бастард Императора. Том 13

Орлов Андрей Юрьевич
13. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 13

Последний Паладин. Том 12

Саваровский Роман
12. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Последний Паладин. Том 12

Лекарь Империи

Карелин Сергей Витальевич
1. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи

Точка Бифуркации III

Смит Дейлор
3. ТБ
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Точка Бифуркации III

Звездная Кровь. Экзарх III

Рокотов Алексей
3. Экзарх
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Экзарх III

Печать Пожирателя

Соломенный Илья
4. Пожиратель
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
5.00
рейтинг книги
Печать Пожирателя

Матабар

Клеванский Кирилл Сергеевич
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар

Я уже князь. Книга XIX

Дрейк Сириус
19. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я уже князь. Книга XIX

Менталист. Эмансипация

Еслер Андрей
1. Выиграть у времени
Фантастика:
альтернативная история
7.52
рейтинг книги
Менталист. Эмансипация

Целеполагание

Владимиров Денис
4. Глэрд
Фантастика:
фэнтези
боевая фантастика
рпг
5.00
рейтинг книги
Целеполагание

Старый, но крепкий 9

Крынов Макс
9. Культивация без насилия
Фантастика:
рпг
уся
фэнтези
сянься
5.00
рейтинг книги
Старый, но крепкий 9

Представитель

Семин Никита
6. Переломный век
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Представитель