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

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

Жанры

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

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

Шрифт:

Таблица 9.1. Свойства компонентов для настройки диапазона угадываемых чисел

Компонент Свойство Значение Пояснение
Label1 Caption Диапазон чисел: Надпись метки
Font.Style [fsBold] Начертание шрифта — полужирное
Left 8 Отступ слева
Top 16 Отступ сверху
Label2 Caption от Надпись
метки
Font.Style [fsBold] Начертание шрифта — полужирное
Left 104 Отступ слева
Top 16 Отступ сверху
Label3 Caption до Надпись метки
Font.Style [fsBold] Начертание шрифта — полужирное
Left 216 Отступ слева
Top 16 Отступ сверху
Edit1 Name start Новое имя поля, предназначенного для ввода начального числа диапазона
Text 1 Содержимое поля
Left 128 Отступ слева
Top 8 Отступ сверху
Width 57 Ширина
Edit2 Name finish Новое имя поля, предназначенного для ввода конечного числа диапазона
Text 1000 Содержимое поля
Left 256 Отступ слева
Top 8 Отступ сверху
Width 57 Ширина

Разместите на форме под этими компонентами еще один компонент Label, назовите его pl1 (свойство Name), а свойству Caption присвойте значение Первый игрок:. Справа от метки pl1 разместите компонент Edit, свойству Name которого присвойте значение ch1, а свойству Text — значение 0. Справа от поля ch1 разместите еще один компонент Label. Присвойте ему имя znak1 и очистите свойство Caption.

Под компонентами pl1, ch1 и znak1 разместите аналогичные компоненты для второго игрока, присвоив им имена рl2, ch2 и znak2 соответственно. Свойству рl2.Caption присвойте значение Второй игрок:, свойству ch2.Text — значение 0, а свойство znak2.Caption очистите. Поскольку по умолчанию игру будет начинать первый игрок, мы должны заблокировать ввод для второго игрока. Для этого измените значение свойства Enabled для компонентов ch2 и р12 на False.

Разместите на форме справа от компонентов znak1 и znak2 еще один компонент Label и измените его свойства согласно табл. 9.2.

Таблица 9.2. Свойства нового компонента Label

Свойство Значение Пояснение
Name X Новое имя компонента
Caption X Надпись метки
Font.Color clRed Цвет шрифта — красный
Font.Name Courier New Название шрифта
Font.Size 36 Размер шрифта
Font.Style [fsBold] Начертание
шрифта — полужирное
Height 54 Высота метки

Ниже всех компонентов разместите компонент Checkbox (флажок) категории Standard. Присвойте его свойству Name значение comp, a свойству Caption — значение Играть против компьютера (проследите также, чтобы свойство Checked было равно False).

Ниже разместите две кнопки (компонент Button категории Standard), присвоив их свойству Caption значения Принять вариант и Новая игра. Полученная форма должна соответствовать рис. 9.1.

Рис. 9.1. Форма для игры "Угадывание чисел"

Разработка программного кода

Прежде всего, объявим переменные, которые будем использовать на протяжении всей программы:

var

 Form1: TForm1;

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

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

Переменная num соответствует случайно заданное число, переменной kolvo — количество попыток, за которые число было отгадано, переменной big — наибольшее число из названных, а переменной small — наименьшее число из названных.

Теперь напишем две процедуры, которые в случае игры против компьютера будут определять границы нахождения числа. Процедура min будет определять нижнюю границу, а процедура max — верхнюю.

Объявим эти процедуры как закрытые члены класса формы:

type

 TForm1 = class(TForm)

 …

private

 { Private declarations }

 procedure min;

 procedure max;

public

 { Public declarations }

end;

После этого создадим сами процедуры в разделе implementation:

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

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.FormCreate(Sender: TObject);

begin

 Randomize; //включаем генератор случайных чисел

 //загадываем случайное число из заданного диапазона

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

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала

Отморозки

Земляной Андрей Борисович
Фантастика:
научная фантастика
7.00
рейтинг книги
Отморозки

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Надуй щеки! Том 2

Вишневский Сергей Викторович
2. Чеболь за партой
Фантастика:
попаданцы
дорама
фантастика: прочее
5.00
рейтинг книги
Надуй щеки! Том 2

Новый Рал 7

Северный Лис
7. Рал!
Фантастика:
попаданцы
5.00
рейтинг книги
Новый Рал 7

Камень. Книга вторая

Минин Станислав
2. Камень
Фантастика:
фэнтези
8.52
рейтинг книги
Камень. Книга вторая

По воле короля

Леви Кира
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
По воле короля

Фею не драконить!

Завойчинская Милена
2. Феями не рождаются
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Фею не драконить!

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь

Идеальный мир для Лекаря 22

Сапфир Олег
22. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 22

Новый Рал 3

Северный Лис
3. Рал!
Фантастика:
попаданцы
5.88
рейтинг книги
Новый Рал 3

Ученик. Книга 4

Первухин Андрей Евгеньевич
4. Ученик
Фантастика:
фэнтези
5.67
рейтинг книги
Ученик. Книга 4

Ворон. Осколки нас

Грин Эмилия
2. Ворон
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ворон. Осколки нас