Читаем Delphi полностью

Разместите на форме под этими компонентами еще один компонент 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] Начертание шрифта — полужирное
Height54Высота метки

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

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

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

<p>Разработка программного кода</p>

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

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; //включаем генератор случайных чисел

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

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных