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

на главную

Жанры

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

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

Шрифт:

Компилируем и запускаем программу на выполнение. Игра в действии показана на рис. 9.2.

Рис. 9.2. Игра "Угадывание чисел" в действии

Полный исходный код модуля

Полный исходный код программного модуля игры "Угадывание чисел" представлен в листинге 9. 1.

Листинг 9.1. Программный модуль игры "Угадывание чисел"

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TForm1 = class(TForm)

 Button1: TButton;

 Label1: TLabel;

 Label2: TLabel;

 start : TEdit;

 finish: TEdit;

 Label3: TLabel;

 pl1: TLabel;

 ch1: TEdit;

 pl2: TLabel;

 ch2: TEdit;

 comp: TCheckBox;

 Button2: TButton;

 x: TLabel;

 znak1: TLabel;

 znak2: TLabel;

 procedure FormCreate(Sender: TObject);

 procedure compClick(Sender: TObject);

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

 //очистим массивы наибольших и наименьших чисел

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

Метаморфозы Катрин

Ром Полина
Фантастика:
фэнтези
8.26
рейтинг книги
Метаморфозы Катрин

Вечная Война. Книга V

Винокуров Юрий
5. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
7.29
рейтинг книги
Вечная Война. Книга V

Генерал Скала и сиротка

Суббота Светлана
1. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Генерал Скала и сиротка

Сумеречный Стрелок 3

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

Студент

Гуров Валерий Александрович
1. Студент
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Студент

Наизнанку

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Наизнанку

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

Кукловод

Злобин Михаил
2. О чем молчат могилы
Фантастика:
боевая фантастика
8.50
рейтинг книги
Кукловод

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Егерь

Астахов Евгений Евгеньевич
1. Сопряжение
Фантастика:
боевая фантастика
попаданцы
рпг
7.00
рейтинг книги
Егерь

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16