Создание игры "крестики-нолики"

Автор работы: Пользователь скрыл имя, 12 Апреля 2012 в 14:59, курсовая работа

Краткое описание

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

Содержимое работы - 1 файл

Курсовая по Delphiл.doc

— 506.50 Кб (Скачать файл)
 
 
 
 
 
 
 
 
 
 
 

     Курсовая  работа 
 

     По дисциплине: Технология программирования 

     На тему: «Создание игры “Крестики-нолики”» 
 
 
 
 
 
 
 

 

      Содержание

 

                Введение

 

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

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

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

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

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

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

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

Основной  упор этой модели в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать.

В стандартную  поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов.

Целью моей курсовой работы является программирование с помощью Delphi 7.

 

              ИСТОРИЯ ЯЗЫКА DELPHI 

Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».

Object Pascal (Delphi) являются результатом функционального расширения Turbo Pascal

Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.

Версия 1 была предназначена для разработки под 16-разрядную платформу Win16;

Версии  со второй компилируют программы  под 32-разрядную платформу Win32;

Вместе  с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему GNU/Linux;

Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET);

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

Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.

Первая  версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET.

В настоящее  время, в Delphi 2006, можно писать приложения для .NET, используя стандартную библиотеку классов .NET, VCL для .NET. Среда также позволяет создавать .NET-приложения на C# и Win32-приложения на C++. Delphi 2006 содержит функции для написания обычных приложений с использованием библиотек VCL и CLX.

Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.

В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор.

Однако  в ноябре того же года было принято  решение отказаться от продажи IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания — CodeGear, которая будет финансово полностью подконтрольна Borland.

      

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

     Компонент TLabel

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

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

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

     Свойства  компонента приведены в табл.1:

 

Таблица 1

     Свойства  компонента TLabel

     Свойство      Описание
     (Pb) property Caption: TCaption; TCaption = string[255];      Содержит  строку с выводимым текстом.
     (Pb) property Alignment: TAlignment;      Устанавливает правило выравнивания текста — по правому, левому краю или по центру клиентской области.
     (Pb) property AutoSize: Boolean;      В случае True происходит автоматическое приведение размеров компонента к размерам текста и высоте шрифта.
     (Pb) property FocusControl: TWinControl;      Определяет  оконный компонент, которому посылаются сообщения о вводе акселератора.
     (Pb) property Transparent: Boolean;      Прозрачность  фона компонента. Если свойство установлено в True, то при перерисовке элемента управления не происходит закрашивание клиентской области. В противном случае — происходит закрашивание кистью bsSolid и цветом Color.
     (Pb) property WordWrap: Boolean;      Определяет  возможность разрыва слов в случае, если длина выводимого текста превышает ширину компонента.

     Компонент TPanel

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

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

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

     За  внешнее оформление панели отвечают свойства:

     (Pb) property Bevel Inner: TPanelBevel;

     (Рb) property BevelOuter: TPanelBevel;

     TPanelBevel = (bvNone, bvLowered, bvRaised) ;

     (Pb) property BevelWidth: TBevelWidth;

     TBevelWidth = 1..Maxint;

     (Pb) property BorderWidth: TBorderWidth;

     TBorderWidth = 0..Maxint ;

     На  границах панели размещаются две  специальные окаймляющие рамки (bevels): Bevellnner и BevelOuter. При помощи комбинации белого и серого цветов они имитируют трехмерность — приподнятость (bvRaised) или утоп-ленность (bvLowered). Обе рамки имеют ширину BevelWidth. Наружная — BevelOuter — расположена прямо по периметру панели, вторая — Bevellnner — внутри на расстоянии BorderWidth от нее. Обе могут быть невидимыми (bvNone), приподнятыми или утопленными.

     Комбинируя  сочетания bvLowered/bvRaised, можно создать вокруг панели "ров" или "вал".

     Иллюзию трехмерности может подчеркнуть  также стиль обрамления компонента:

     (Pb) property BorderStyle: TBorderStyle;

     TBorderStyle = bsNone .. bsSingle;

     Значение  bsSingle означает, что панель будет окаймлена черной линией единичной толщины (по периметру, снаружи от обеих рамок).

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

     (Pb) property Alignment: TAlignment;

     Компонент TButton

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

Основные cвойства

       Name - название компонента;

Caption - текст,  отображаемый на кнопке;

Left - позиция  по горизонтали;

Width - ширина  кнопки в пикселях;

Height - высота  кнопки в пикселях;

Cursor - курсор, который будет отображаться при  наведении на кнопку;

Hint - текст  подсказки, которая появится при  наведении и задерживании указателя  мыщи над кнопкой;

ShowHint - будет ли отображаться подсказка. True - будет отображаться, False - не будет;

TabStop - Определяет  возможность доступа пользователя  к кнопке с помощью клавиши Tab. 

В надписях кнопок (свойство Caption) можно предусматривать  использование клавиш ускоренного доступа, выделяя для этого один из символов надписи - ставя перед ним символ амперсанта "&". Этот символ не появляется в надписи, а следующий за ним символ оказывается подчеркнутым. Тогда пользователь может вместо щелчка на кнопке нажать в любой момент клавишу Alt совместно с клавишей выделенного символа.

Основное  событие кнопки - OnClick, возникающее  при щелчке на ней. В обработчике  этого события записываются операторы, которые должны выполняться при щелчке пользователя на кнопке.

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

Свойство Default, если его установить в true, определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

Вкладка Events: 

onClick - код  который будет выполняться при нажатии кнопки (обратите внимание что нажать кнопку можно не только мышкой, но и клавишей Enter);

onMouseDown - код который выполнится при  нажатии любой кнопки мыши  на кнопке, причем не нужно  кнопку отпускать;

onMouseUp - код который выполнится при отпускании любой кнопки мыши;

onMouseMove - код который выполнится при  вождении мышкой по кнопке. 
2. РАЗРАБОТКА ПРОГРАММЫ

Информация о работе Создание игры "крестики-нолики"