Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Анализ предметной области разрабатываемого программного продукта 1

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 7.6.2024

СОДЕРЖАНИЕ

стр.

Введение

1.Анализ предметной области разрабатываемого программного продукта

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

1.2 Назначение задачи

1.3 Выбор технологии и среды разработки

1.4 Анализ технических требований и уточнение спецификаций

2. Проектирование структуры и компонентов программного продукта

2.1Разработка  интерфейса пользователя

2.2Разработка структурной схемы программного продукта

2.3 Разработка основных алгоритмов программного продукта

2.4 Отладка и тестирование

2.5 Инструкция пользователю

Заключение

Литература

Приложение 1. Техническое задание

Приложение 2. Текст программы

Приложение 3. Окна работающей программы

Приложение В. Руководство пользователю

Введение

В ходе выполняемой курсовой работы будет разрабатываться игровая программа «Парные картинки», которая и будет являться объектом исследования. Потребуется создать полноценную правильно-функционирующую программу и самостоятельно изучим некоторые процедуры и функции.

Delphi - это комбинация нескольких важнейших технологий:

- Высокопроизводительный компилятор в машинный код;

- Объектно-ориентированная модель компонент;

- Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;

- Масштабируемые средства для построения баз данных;

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на C++ или ручного написания кода (хотя это возможно).

1.Анализ предметной области разрабатываемого программного продукта 1.1Постановка задачи

Разработать программу, реализующую функции тренировки памяти.

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

1.2 Назначение задачи

Суть программы состоит в том, что на экран выдается определённое количество парно одинаковых изображений, они открыты на небольшой промежуток времени, после чего закрываются, и пользователю необходимо угадать попарно одинаковые картины за заданное время, если он не успевает этого сделать, то игра возобновится.

Каждое прохождение уровня должно сопровождаться звуковым сигналом

1.3 Выбор технологии и среды разработки

Я выбрал среду разработки Borland Delhi7, так как я думаю что это наиболее благоприятная среда для разработки игр, так же язык программирования Pascal один один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является базой для ряда Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из язык Паскаль.

Язык Паскаль был создан Никлаусом Виртом в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом, представляя язык, автор указывал в качестве цели его создания — построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные.

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

Pascal был уникальным в своём роде – он имел самый быстрый компилятор в мире, да и в нем впервые была разработана технология создания платформенно независимых программ, которая нашла широкое применение в таком языке, как Java. Своё имя он получил в честь великого французкого физика Паскаля. Позднее, разработкой Pascal`ей занялась компания Borland, с помощью которой Pascal встал на серийное производство, надо заметить, что кроме Turbo Pascal компанией выпускался Borland Pascal, который выходил в свет несколько позднее, чем Turbo Pascal, но в отличие от него обладал большими способностями, как то различные режимы компиляции программы, более расширенный набор функций. Так, версия за версией было выпущенно семь Turbo и Borland Pascal. С появлением Windows у Pascal появилась новая разновидность – Turbo и Borland Pascal for Windows. Данная программа была не чуть не лучше обыкновенного блокнота, разве что только цифры отображала синим. Но время шло, требования к качеству оформления программ росли, а языки программиравания оставались всё теми же – Dos. И вот, наконец, компанией Microsoft был совершен переворот в области прикладного программирования – ими впервые была создана визуальная система разработки прикладных программ, которую они реализовали в Visual Basic. К новому стандарту стали приобщать все языки программирования, не избежал своей участи и Pascal. В тот момент, когда разработчики Pascal в компании Borland наконец добрались до него – находился он довольно в запущенном состоянии. Было пересмотрено и переработано множество функций, добавлено, а вернее сказать создано, многое. И в итоге внесения оказались столь колоссальными, что разработчики создали, можно сказать, новый язык программирования.

Delphi 7 — это достаточно мощная система, предназначенная для быстрой разработки приложений самого разного характера и назначения, в том числе для работы с базами данных (драйверы dbExpress, DB2 7.2, InterBase 6.5, MySQL, MSSQL) и Интернет.

В Delphi 7 достигнут высокий уровень возможностей и нет избыточных и дублирующих друг друга средств.

Скорость и производительость программиста при создании программ на Delphi достигаются благодаря IDE (Integrated Development Environment — интегрированная среда разработки) в которой они создаются.

Интегрированная среда разработки в Delphi 7 — это пользовательский интерфейс, состоящий из множества окон, перечень которых зависит от настроек программиста и соответственно от выполняемых задачь.

Таким образом разработка приложения в Delphi делиться на 2 основных этапа:

непосредственное создание пользовательского интерфейса

определение функциональности приложения

Пользовательский интерфейс — в данном случае это внешний вид программы (формы), с помощью интерфейса происходит взаимодействие пользователя с приложением.

В Delphi 7 интерфейс создается очень просто — он конструируется элементами управления (компонентами), которые располагаются на форме приложения.

Функциональность создаваемого приложения формируется процедурами, которые выполняются при возникновении событий, например при нажатии на кнопку и т.д.

Таким образом, разработка приложений сводиться к размещению на форме необходимых компонентов и настройки и написания их свойств, возникающих при том или ином событии.

Многие только переходили к Delphi из DOS, многие использовали Borland Pascal for Windows и работали с Windows API напрямую. Объекты еще были в диковинку, и полное разъяснение новых принципов было просто обязательно.

Но и сейчас писать об этом вполне актуально. Конечно, выросло поколение программистов, которые "с молоком матери" впитали новые понятия. Но от понимания объектов до их грамотного использования — дистанция огромного размера. Для создания более или менее сложных приложений нужны навыки объектно-ориентированного дизайна, а для приложений в свою очередь — четкое знание возможностей вашей среды программирования. Поэтому в данной главе мы постараемся акцентировать внимание читателя на применение ООП в среде Delphi 7.

По сравнению с традиционными способами программирования ООП обладает рядом преимуществ. Главное из них заключается в том, что эта концепция в наибольшей степени соответствует внутренней логике функционирования операционной системы (ОС) Windows. Программа, состоящая из отдельных объектов, отлично приспособлена к реагированию на события, происходящие в ОС. К другим преимуществам ООП можно отнести большую надежность кода и возможность повторного использования отработанных объектов.


1.4 Анализ технических требований и уточнение спецификаций

2. Проектирование структуры и компонентов программного продукта

2.1  Разработка  интерфейса пользователя

Интерфейс пользователя , он жепользовательский интерфейс — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой.

Весьма часто термин применяется по отношению к компьютерным программам, однако под ним может подразумеваться набор средств, методов и правил взаимодействия любой системы, управляемой человеком.

Несколько широко распространённых примеров:

меню на экране телевизора + пульт дистанционного управления;

дисплей электронного аппарата (автомагнитолы, часов) + набор кнопок и переключателей для настройки;

приборная панель (автомобиля, самолёта) + рычаги управления.

Интерфейс двунаправленный (интерактивный) — когда устройство, получив команды от пользователя и исполнив их, выдаёт информацию пользователю наличествующими у неё средствами — визуальными, звуковыми, тактильными и т. п. (приняв которую, пользователь выдаёт устройству последующие команды предоставленными в его распоряжение средствами: кнопки, переключатели, регуляторы, сенсоры, голосом, и т. д.).

Поскольку интерфейс есть совокупность, то есть он состоит из элементов, которые, сами по себе, также могут состоять из элементов (так, экран дисплея может содержать в себе другие окна, которые, в свою очередь, могут содержать панели, кнопки и прочие интерфейсные элементы).

Мой интерфейс очень интуитивен и понятен, для любого  круга лиц , состоящий из 3-х вкладок

  •  Первая вкладка «Новая игра» при нажатии на нее открываются уровни сложности

  •  При нажатии на вторую вкладку «Рекорды» показывает рекорды игроков на три уровня сложности,

  •  Во вкладке  «Справка» есть два пункта :
  1.  Правила
  2.  Опрограмме

Компоненты Delphi используемые в программе

2.2Разработка структурной схемы программного продукта

Компонент TMainMenu

TMainMenu – позволяет поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка . Иконки данного типа называют невидимым (невизуальным) компонентом, поскольку они невидимы во время выполнения программы. 

Создание меню включает три шага:

  1.  помещение TMainMenu на форму;
  2.  вызов Menu Designer 
  3.  определение пунктов меню в Menu Designer.

Этот компонент доступен из модуля MENUS, и находится на странице Палитры компонентов Standard.

Этот компонент представляет главное меню формы и наследует все методы и свойства TMenu. Особенность его в том, что в нем реализован сложный механизм объединения меню. Это необходимо по следующим причинам:

  1.  Если в приложении имеется несколько форм со своими меню, то для упрощения работы целесообразно соединить их в одно и управлять меню из главной формы.
  2.  Объединение меню нужно при работе с интерфейсом MDI и его подокнами.
  3.  Механизм объединения меню используется серверами OLE, запускаемыми по месту нахождения объекта OLE. Загружаясь, сервер дописывает осуществляемые им операции к меню другого приложения.

Для того чтобы реализовать объединение меню, у тех форм, меню которых будут присоединены к главному, необходимо установить в True свойство:

(Pb) property AutoMerge: Boolean;

При этом у главного меню оно должно оставаться равным False, иначе главное меню будет вообще невидимым. Объединение будет происходить автоматически при активизации новых форм или серверов OLE. Кроме автоматического режима, объединение меню можно выполнить при вызове метода:

procedure Merge(Menu: TMainMenu);

1.2 Компонент TLabel

 

TLabel – служит для отображения текста на экране. Можно изменить шрифт и цвет метки, если дважды щелкнуть на свойство Font в Инспекторе Объектов. Видно, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.

Этот компонент доступен из модуля STDCTRLS, и находится на странице Палитры компонентов Standard.

Компонент представляет собой статический текст. С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов. Но он имеет и другую важную функцию – если в составе текста TLabel есть символы-акселераторы, информация об их нажатии может передаваться от TLabel другому элементу управления.

1.3 Компонент TPanel

TPanel – управляющий, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания панели инструментов и окна статуса.

Этот компонент доступен из модуля EXTCTRLS, и находится на странице Палитры компонентов Standard.

Этот компонент — является несущей конструкцией для размещения других элементов управления. В отличие от простой рамки (TBevel) панель сама является оконным элементом управления и родителем для всех размещенных на ней компонентов. Часто ее используют для создания панелей инструментов, строк состояния и т. п.

На границах панели размещаются две специальные окаймляющие рамки (bevels): BevelInner и BevelOuter. При помощи комбинации белого и серого цветов они имитируют трёхмерность – приподнятость (bvRaised) или утопленность (bvLowered). Также рамки могут быть невидимыми (bvNone).

Выравнивание текста заголовка панели определяется при помощи свойства:

(Pb) property Alignment: TAlignment;

1.4 Компонент TImage

TImage – отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу.

Этот компонент доступен из модуля EXTCTRLS, и находится на странице Палитры компонентов Additional.

Этот компонент служит надстройкой над классом TPicture и замыкает всю иерархию графических объектов VCL. Он предназначен для показа на форме изображения: битовой карты (TBitmap), метафайла (TMetafile), значка (TIcon).

1.5 Компонент TImageList

TImageList представляет собой контейнер для хранения множества рисунков одинакового размера. Он может быть полезен при программном создании набора инструментальных кнопок, секций управляющего заголовка, при разработке программ, использующих анимационные эффекты, и вообще там, где требуется индексированный доступ к изображениям. Воспринимает форматы BMP, ICO.

При помещении TImageList на форму это выглядит, как просто иконка. Иконки данного типа называют невидимым (невизуальным) компонентом, поскольку они невидимы во время выполнения программы. Этот компонент находится на странице Палитры компонентов Win 32.

1.6 Компонент TTimer

TTimer (таймер) служит для отсчета интервалов реального времени. Его свойство interval определяет интервал времени в миллисекундах, который должен пройти от включения таймера до наступления события onTimer. Таймер включается при установке значения True в его свойство Enabled. Раз включенный таймер все время будет возбуждать события onTimer до тех пор, пока его свойство Enabled не примет значения False.

2.3 Разработка основных алгоритмов программного продукта

 

2.4 отладка и тестирование

при отлатке программы ошибок не обнаружено

  1.  инсткурция пользователю

Описание пользовательского интерфейса

  •  Файл → Новая игра – начало новой игры.
  •  Файл → Выход – выход из программы.
  •  Справка → О программе – Вывод дополнительной информации о программе и о её создателе.

Заключение

В результате выполнения данной курсовой работы мной была разработана игровая программа под названием “Крестики-нолики”. Было проведено исследование компонентов программной среды Borland Delphi 6.0, которые использовались при создании программы, использовалось множество процедур и функций. Была использована и изучена процедура блокировки кнопки “максимизации”.

При создании программы использовались следующие компоненты: TMainMenu, TLabel, TPanel, TImage, TImageList, TTimer.

Также  использовались и другие программы:

  •  Adobe Photoshop CS v8.0 – использовался для создания дополнительных надписей на картинке для формы “О программе”;
  •  Restorator 2005 v3.50 build 1442 – использовался для изменения иконки EXE файла игры;
  •  Microsoft Paint v5.1 – использовался для создания рисунков к данному курсовому проекту

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

Список используемой литературы

  1.  Михаил Фленов «Библия Delphi»  БХВ-Петербург,  2004г. 880с.
  2.  Интернет портал http://delphiworld.narod.ru
  3.  Интернет портал http://delphikingdown.ru

Приложение 1

Исходный текст

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, Menus, unit2, ExtCtrls, ComCtrls, unit3, StdCtrls, ImgList;

type

 TForm1 = class(TForm)

   MainMenu1: TMainMenu;

   FileMenuItem: TMenuItem;

   NewMenuItem: TMenuItem;

   N3: TMenuItem;

   N4: TMenuItem;

   InformationMenuItem: TMenuItem;

   AboutMenuItem: TMenuItem;

   Panel1: TPanel;

   Panel2: TPanel;

   Panel3: TPanel;

   Panel4: TPanel;

   Panel5: TPanel;

   Panel6: TPanel;

   Panel7: TPanel;

   Panel8: TPanel;

   Panel9: TPanel;

   Panel10: TPanel;

   Timer1: TTimer;

   ImageList1: TImageList;

   procedure AboutMenuItemClick(Sender: TObject);

   procedure Panel2Click(Sender: TObject);

   procedure Panel5Click(Sender: TObject);

   procedure Panel8Click(Sender: TObject);

   procedure Panel3Click(Sender: TObject);

   procedure Panel6Click(Sender: TObject);

   procedure Panel9Click(Sender: TObject);

   procedure Panel4Click(Sender: TObject);

   procedure Panel7Click(Sender: TObject);

   procedure Panel10Click(Sender: TObject);

   procedure Timer1Timer(Sender: TObject);

   procedure NewMenuItemClick(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure N4Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

Implementation

{$R *.dfm}

procedure clean;                                      // Процедура общего сброса ("Новая игра")

begin

Form1.Timer1.Enabled:=false;              // Для надежности выключаем таймер

Form1.Panel2.BevelInner:=bvNone;     // Меняем стиль панели на начальный

Form1.Panel2.Caption:='';                     // Убираем заголовок панели

 Form1.Panel3.BevelInner:=bvNone;

Form1.Panel3.Caption:='';

Form1.Panel4.BevelInner:=bvNone;

Form1.Panel4.Caption:='';

Form1.Panel5.BevelInner:=bvNone;

Form1.Panel5.Caption:='';

Form1.Panel6.BevelInner:=bvNone;

Form1.Panel6.Caption:='';

Form1.Panel7.BevelInner:=bvNone;

Form1.Panel7.Caption:='';

Form1.Panel8.BevelInner:=bvNone;

Form1.Panel8.Caption:='';

Form1.Panel9.BevelInner:=bvNone;

Form1.Panel9.Caption:='';

Form1.Panel10.BevelInner:=bvNone;

Form1.Panel10.Caption:='';

Form1.Tag:=0;

Form1.Timer1.Enabled:=true;               // Возобновляем работу таймера

end;

procedure TForm1.AboutMenuItemClick(Sender: TObject);

begin

Form2.ShowModal;                              // Вызываем окно "О программе"

end;

procedure TForm1.Panel2Click(Sender: TObject);

begin

if Panel2.Caption<>'' then exit;            // Проверка на заголовок панели (анти-мухлеж)

Panel2.BevelInner:=bvLowered;          // Присваиваем стиль при нажатии на панель

if Form1.Tag=0

 then                                                      // Меняем tag формы (для чередования X и O)

  begin

   Panel2.Caption:='X';                         // если таг=0 тогда вписываем X

   Form1.Tag:=1;

  end

 else

  begin

   Panel2.Caption:='O';                         // если таг=1 тогда вписываем O

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel5Click(Sender: TObject);

begin

if Panel5.Caption<>'' then exit;

Panel5.BevelInner:=bvLowered;

if Form1.Tag=0

 then

  begin

   Panel5.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel5.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel8Click(Sender: TObject);

begin

if Panel8.Caption<>'' then exit;

Panel8.BevelInner:=bvLowered;

if Form1.Tag=0

 then

  begin

   Panel8.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel8.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel3Click(Sender: TObject);

begin

if Panel3.Caption<>'' then exit;

Panel3.BevelInner:=bvLowered;

if form1.Tag=0

 then

  begin

   Panel3.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel3.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel6Click(Sender: TObject);

begin

if Panel6.Caption<>'' then exit;

Panel6.BevelInner:=bvLowered;

if form1.Tag=0

 then

  begin

   Panel6.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel6.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel9Click(Sender: TObject);

begin

if Panel9.Caption<>'' then exit;

Panel9.BevelInner:=bvLowered;

if form1.Tag=0

 then

  begin

   Panel9.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel9.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel4Click(Sender: TObject);

begin

if Panel4.Caption<>'' then exit;

Panel4.BevelInner:=bvLowered;

if Form1.Tag=0

 then

  begin

   Panel4.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel4.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel7Click(Sender: TObject);

begin

if Panel7.Caption<>'' then exit;

Panel7.BevelInner:=bvLowered;

if Form1.Tag=0

 then

  begin

   Panel7.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel7.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Panel10Click(Sender: TObject);

begin

if Panel10.Caption<>'' then exit;

Panel10.BevelInner:=bvLowered;

if Form1.Tag=0

 then

  begin

   Panel10.Caption:='X';

   Form1.Tag:=1;

  end

 else

  begin

   Panel10.Caption:='O';

   Form1.Tag:=0;

  end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);    // Процедура проверки на выигрыш;

begin

try                                                                                 // защита от непредвиденных ошибок

 if (Panel2.BevelInner=bvLowered) and (Panel4.BevelInner=bvLowered) and (Panel3.BevelInner=bvLowered) then

                                                                           // Если панели нажаты, то проверяем заголовки

 if (Panel2.Caption=Panel3.Caption) and (Panel2.Caption=Panel4.Caption)

  then                                           

   begin

    Form3.Label1.Caption:=Form1.Panel2.Caption;    // Если выигрышная комбинация то присваиваем Х или О в Лейбл формы поздравления

    Form3.ShowModal;                                                 // Открываем окно поздравления ":-)"

    clean;                                                                        // Очистка игрового поля                                                         

   end;

 if (Panel7.BevelInner=bvLowered) and (Panel5.BevelInner=bvLowered) and (Panel6.BevelInner=bvLowered) then

 if (Panel5.Caption=Panel6.Caption) and (Panel5.Caption=Panel7.Caption)

  then

   begin

    Form3.Label1.Caption:=Form1.Panel5.Caption;

    Form3.ShowModal;

    clean;

   end;

 if (Panel9.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) then

 if (Panel8.Caption=Panel9.Caption) and (Panel8.Caption=Panel10.Caption)

  then

   begin

    Form3.Label1.Caption:=Form1.Panel10.Caption;

    Form3.ShowModal;

    clean;

   end;

 if (Panel5.BevelInner=bvLowered) and (Panel2.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) then

 if (Panel2.Caption=Panel5.Caption) and (Panel2.Caption=Panel8.Caption)

  then

   begin

    Form3.Label1.Caption:=Form1.Panel2.Caption;

    Form3.ShowModal;

    clean;

   end;

 if (Panel9.BevelInner=bvLowered) and (Panel3.BevelInner=bvLowered) and (Panel6.BevelInner=bvLowered) then

 if (Panel6.Caption=Panel3.Caption) and (Panel6.Caption=Panel9.Caption)

  then

   begin

    Form3.Label1.Caption:=Form1.Panel3.Caption;

    Form3.ShowModal;

    clean;

   end;

 if (Panel4.BevelInner=bvLowered) and (Panel7.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered) then

 if (Panel4.Caption=Panel7.Caption) and (Panel10.Caption=Panel4.Caption)

  then

   begin

    Form3.Label1.Caption:=Form1.Panel4.Caption;

    Form3.ShowModal;

    clean;

   end;

 if (Panel6.BevelInner=bvLowered) and (Panel2.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered) then

 if (Panel2.Caption=Panel6.Caption) and (Panel2.Caption=Panel10.Caption)

  then

   begin

    Form3.Label1.Caption:=Form1.Panel2.Caption;

    Form3.ShowModal;

    clean;

   end;

 if (Panel6.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) and (Panel4.BevelInner=bvLowered) then

 if (Panel4.Caption=Panel6.Caption) and (Panel8.Caption=Panel4.Caption)

  then

   begin

    Form3.Label1.Caption:=Form1.Panel4.Caption;

    Form3.ShowModal;

    clean;

   end;

except;

end;

if (Panel2.BevelInner=bvLowered) and (Panel3.BevelInner=bvLowered) and (Panel4.BevelInner=bvLowered) and (Panel5.BevelInner=bvLowered) and (Panel6.BevelInner=bvLowered) and (Panel7.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) and (Panel9.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered)

 then

  begin

   Form1.Timer1.Enabled:=False;

   ShowMessage ('Ничья, попробуйте ещё раз!');

   clean;

  end;

end;

procedure TForm1.NewMenuItemClick(Sender: TObject);

begin

clean;                                                            // Очистка игрового поля для новой игры

end;

procedure TForm1.FormCreate(Sender: TObject);

 var

 l:DWORD;                                                  // Процедура блокировки кнопки "Развернуть"

begin

l:=GetWindowLong(Self.Handle,GWL_STYLE);

l:=l and not(WS_MAXIMIZEBOX);

l:=SetWindowLong(Self.Handle,GWL_STYLE,l);

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Close;                                                           // Выход из программы

end;

end.

unit Unit2;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, jpeg, ExtCtrls;

type

 TForm2 = class(TForm)

   Image1: TImage;

   Label1: TLabel;

   Label3: TLabel;

   Label2: TLabel;

   Label4: TLabel;

   procedure Image1Click(Sender: TObject);

   procedure Label1Click(Sender: TObject);

   procedure Label2Click(Sender: TObject);

   procedure Label3Click(Sender: TObject);

   procedure Label4Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form2: TForm2;

Implementation

{$R *.dfm}

procedure TForm2.Image1Click(Sender: TObject);

begin

Close;                                                                    // Закрытие окна при нажатии на него

end;

procedure TForm2.Label1Click(Sender: TObject);

begin

Close;

end;

procedure TForm2.Label2Click(Sender: TObject);

begin

Close;

end;

procedure TForm2.Label3Click(Sender: TObject);

begin

Close;

end;

procedure TForm2.Label4Click(Sender: TObject);

begin

Close;

end;

end.

unit Unit3;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, ExtCtrls, jpeg;

type

 TForm3 = class(TForm)

   Image1: TImage;

   Label3: TLabel;

   Label2: TLabel;

   Label1: TLabel;

   procedure FormShow(Sender: TObject);

   procedure Image1Click(Sender: TObject);

   procedure Label1Click(Sender: TObject);

   procedure Label2Click(Sender: TObject);

   procedure Label3Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.FormShow(Sender: TObject);

begin

Form1.Timer1.Enabled:=False;                                        // Выключаем таймер

end;

procedure TForm3.Image1Click(Sender: TObject);

begin

Close;                                                                                // Закрытие окна при нажатии на него

end;

procedure TForm3.Label1Click(Sender: TObject);

begin

Close;

end;

procedure TForm3.Label2Click(Sender: TObject);

begin

Close;

end;

procedure TForm3.Label3Click(Sender: TObject);

begin

Close;

end;

end.

Приложение 2

Блок схема

                                                                                                             нет

                                                                                да

                                                                                                 нет

                                                                                да

PAGE  16




1. Пояснительная записка Выполнил- студент группы ПСМ31 Климычев С.
2. Уральские горы
3. Комбинированные оральные контрацептивы (КОК)
4. Литературно языковые особенности творчества ЛНТолстого на примере романа «Война и мир
5. тематика Программное содержание- узнавание и называние цифр до 5 отсчитывание предметов знание геометриче
6. Арсеньев Николай Сергеевич
7.  Do-does not V1 Do-does подлеже V1 Действие произошло в прошлом Подлеже ~ V2
8. ВВЕДЕНИЕ15
9. Комплексный анализ деятельности ООО ПромТрансБанк
10. і... Ні це теж нецікаво.html
11. Осень Профилактируем сезонные заболевания
12. kt nzw urz
13. Реферат- Гистология.html
14. За счет каких ИИИ формируется технологически измененный естественныйрадиационный фон За счет
15. Тема- Безопасная организация СМР Вопрос 2- Подготовка строительного производства Подготовка строите.
16. тема Канады Налоговая система в Канаде имеет трехступенчатую структуру соответствующую схеме организаци
17. Організація роботи Верховної Ради України
18. Мой первый вернисаж которая открылась в библиотеке имени Д
19. 3
20. Http---udovichenkoucozru-lod-412