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

Создание несложной игровой программы "Крестики-нолики". Обеспечение компилятором высокой производительности, необходимой для построения приложений в архитектуре "клиент-сервер". Алгоритм реализации игровой программы. Концепция создания программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.06.2013
Размер файла 237,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

  • СОДЕРЖАНИЕ
  • Введение
  • 1. Компоненты Delphi используемые в программе
  • 1.1 Компонент TmainMenu
  • 1.2 Компоненты Tlabel и TPanel
  • 1.3 Компоненты Timage, TimageList и Ttimer
  • 2. Разработка программы
  • 2.1 Постановка задачи
  • 2.2 Алгоритм реализации игровой программы
  • Заключение
  • Список использованных источников и литературы
  • Приложение А Листинг программы

Введение

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

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

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

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

- визуальное построение приложений из программных прототипов;

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

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

«Крестики-нолики» - логическая игра между двумя противниками на квадратном поле 3 на 3 клетки или большего размера (вплоть до «бесконечного поля»). Один из игроков играет «крестиками», второй - «ноликами». В традиционной китайской игре (Гомоку) используются черные и белые камни.

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

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

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

1.1 Компонент TmainMenu

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

Рисунок 1 - Иконки компонентов на форме, созданное меню, компонент Tpanel

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

- помещение TMainMenu на форму;

- вызов Menu Designer;

- определение пунктов меню в Menu Designer.

Рисунок 2 - Menu Designer

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

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

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

- объединение меню нужно при работе с интерфейсом MDI и его подокнами;

- механизм объединения меню используется серверами OLE, запускаемыми по месту нахождения объекта OLE. Загружаясь, сервер дописывает осуществляемые им операции к меню другого приложения.

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

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

1.2 Компоненты Tlabel и TPanel

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

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

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

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

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

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

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

Выравнивание текста заголовка панели определяется при помощи свойства: (Pb) property Alignment: TAlignment.

1.3 Компоненты Timage, TimageList и Ttimer

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

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

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

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

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

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

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

программирование компилятор алгоритм функция

2. РАЗРАБОТКА ПРограммы

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

На данный момент существует великое множество компьютерных игр, так же разнообразны подходы в их создании. Например, популярные в последнее время небольшие игры (чаще всего многопользовательские, через сеть Интернет) создаются по технологии Flash с использованием языка ActionScript. Такие игры крайне популярны на разнообразных развлекательных интернет-ресурсах и а социальных сетях.

Большие, сложные игры с реалистичной 3D графикой пишутся на C++, отдельные модули к ним могут быть написаны на других языках (например AI - «искусственный интеллект» - на Lisp). Вообще, язык для создания игры выбирается как компромисс между требованиями к игре, к компьютерному железу и к стоимости разработки.

На подавляющем большинстве мобильных телефонов установлены ARM процессоры. Поэтому игры для мобильных телефонов на платформе Java пишутся на специальном языке для мобильных телефонов MobileBasic, а также на диалекте языка Pascal - MIDletPascal.

Также существуют специальные программы для написания игр. Яркий пример - программа GameMaker, автором которой является Марк Овермас. Эта программа позволяет написать захватывающую игру даже без знания языков программирования.

В рамках курсовой работы необходимо разработать игровую программу «Крестики-нолики», которая включает в себя игровую панель, состоящую из девяти клеток (панелей), образующих собой один большой квадрат. Игровая программа рассчитана на двух игроков. Противникам поочередно предоставляется ход, один играет символом «X», другой - «O». Выигрывает тот, кто первым заполнит ряд панелей своим символом: любой из трех рядов по горизонтали или вертикали, либо любой ряд по диагонали.

«Крестики-нолики» - популярная игра людей всех возрастов. Она отличается простотой, способствует развитию внимания и элементарной логики. В данной работе эта игра реализована на языке Delphi.

2.2 Алгоритм реализации игровой программы

Запуск программы осуществляется следующим образом: необходимо открыть папку, содержащую данную игру, и найти исполняемый файл SGIRG.exe.

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

В первую очередь пишем процедуру очистки игрового поля - clean. Сначала для надежности выключаем таймер, меняем стиль панели на начальный (Form1.Panel2.BevelInner:=bvNone) и очищаем заголовок (Form1.Panel2.Caption:=' '). Данную операцию расписываем на все девять панелей игрового поля. В конце возобновляем работу таймера.

Рисунок 4 - Вид программы после запуска

После запуска программы на экран выводится основная форма Form1 (Рис.4), на которой расположены: главное меню и игровое поле. Игра, т.е. работа программы, начинается сразу же после запуска, ход сначала предоставляется игроку, выбравшему символ «X».

Далее выполняем проверку на «мухлeж», т.е. проверяем заголовок каждой панели игрового поля. Если заголовок панели пуст, то на данную панель разрешено нажимать, если же ему присвоено какое-либо значение («X» либо «O»), то при нажатии на данную панель ничего не будет происходить: if Panel2.Caption<>' ' then exit;

При нажатии на панель, для большей красоты, меняем ее стиль (Panel2.BevelInner:=bvLowered). Передо мной встал вопрос: как сделать чередование «X» и «O»?! Все просто, чередование делаем с помощью условного оператора If. Если Tag равен нулю, то в заголовок данной панели записываем символ «X» и присваиваем в Tag единицу, в противном случае в заголовок записываем символ «O» и присваиваем в Tag ноль.

Пример нажатой панели изображен на Рисунке 5.

if Form1.Tag=0

then

begin

Panel.Caption:='X';

Form1.Tag:=1;

end

else

begin

Panel.Caption:='O';

Form1.Tag:=0;

end;

Таким же образом описываем каждую панель игрового поля.

Рисунок 5 - Вид нажатой панели в программе

Следующим шагом написания программы является процедура проверки на выигрыш. В качестве данной процедуры используем компонент TTimer.

Когда подпрограмма сталкивается с невозможностью выполнения последующих действий, она создает объект с описанием ошибки и прерывает нормальный ход своей работы с помощью оператора Raise. Данный оператор создает объект класса EOutOfMemory (класс ошибок исчерпания памяти) и прерывает нормальное выполнение программы. Вызывающие подпрограммы могут эту ситуацию перехватить и обработать. Для этого в них организуется так называемый защищенный блок:

try

// Защищаемые от ошибок операторы

except

// Операторы обработки исключительной ситуации

end;

Между словами try и except помещаются защищаемые от ошибок операторы. Если при выполнении любого из этих операторов возникает исключительная ситуация, то управление передается операторам между словами except и end, образующим блок обработки исключительных ситуаций. При нормальном (безошибочном) выполнении программы блок except…end пропускается. Итак, дальнейшую разработку программы осуществляем в защищенном блоке.

Необходимо проверить стиль панелей по горизонтали, вертикали и диагонали. Если хоть один ряд имеет не начальный стиль панелей, то сравниваем заголовки панелей данного ряда. Если после проверки выясняется, что заголовки данного ряда не равны - игра продолжается, а если же выясняется, что равны, то открываем модальное окно с поздравлением (Рис.6) и присваиваем «X» или «O» (в зависимости от того, каким символом заполнен данный ряд) в лейбл формы поздравления:

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

Form3.ShowModal;

Рисунок 6 - Модальное окно с поздравлением

После закрытия модального окна поздравления делаем очистку игрового поля с помощью ранее описанной процедуры clean. Данная процедура проверки применяется ко всем восьми рядам панелей, и только после этого закрываем try.

В случае если все панели игрового поля заполнены, а победитель не определился, то выводим сообщение: «Ничья, попробуйте еще раз» (Рис.7).

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;

Рисунок 7 - Сообщение в случае ничьи

Программирование кнопки «Новая игра» в меню программы делается в одну строку. Кнопка программируется в событии OnClick, просто указывается процедура очистки игрового поля - Clean:

procedure TForm1.NewMenuItemClick(Sender: TObject);

begin

clean;

end;

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

procedure TForm1.N4Click(Sender: TObject);

begin

Close;

end;

Казалось бы, на этом можно закончить программирование модуля Unit1, но я заметил еще одну очень интересную проблему. Эта проблема заключается в кнопке «максимизации» (развернуть на весь экран) программы. Я уже сделал так, чтобы окно программы не могло «растягиваться»: (Pb) property BorderStyle: bsToolWindow; но этого мало, т.к. при нажатии на кнопку “максимизации” окно программы растягивается на весь экран (вид программы становится не очень красивым). Почитав немного литературы по Delphi я нашел выход из проблемы:

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;

Данная процедура блокирует кнопку «максимизации», т.е. происходит «затухание» кнопки и все попытки нажать на нее становятся бесполезными.

Модуль Unit3 предназначен для вывода окна, содержащего поздравления для победившего игрока и символ, которым он играл (Рис.6). Программирование окна (Form3) осуществляется следующим образом:

- создается еще одна новая форма - Form3;

- также как и на Form2 ставится компонент TImage и загружается на форму рисунок;

- создается на рисунке три лейбла: в двух пишется текст поздравления, а в третьем будет показываться символ, которым играл победитель (процедура вывода символа описана выше). Устанавливается прозрачность фона Лейблов: (Pb) property Transparent: True.

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

- Файл > Новая игра - начало новой игры;

- Файл > Выход - выход из программы.

Заключение

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

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

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

Приложение А

Листинг программы

unit Unit1;

interface

uses

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

Dialogs, Menus, 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.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;

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;

Размещено на Allbest.ru


Подобные документы

  • Разработка программы игры в крестики-нолики. Примеры игровой ситуации на игровом поле. Описание входных и выходных данных, переменных и функций программы. Реализация алгоритма работы программы на языке C++. Текст программы и примеры ее выполнения.

    курсовая работа [352,8 K], добавлен 14.04.2011

  • Разработка алгоритма, выполняющего поиск наилучшего решения на каждый ход в игре "крестики-нолики" (используя минимальный алгоритм). Обоснование выбора программных средств для решения задачи. Блок-схема интеллектуального алгоритма реализации программы.

    контрольная работа [380,0 K], добавлен 28.04.2014

  • Проект программы "Крестики-нолики". Блок-схема алгоритма. Описание работы программного продукта. Инструкция по инсталляции. Инструкция программисту, возможность доработки с целью упрощения исполняемых кодов. Инструкция по проверке и тестированию.

    курсовая работа [235,8 K], добавлен 05.12.2009

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

  • Разработка популярной развлекательной игры крестики-нолики. Возможность играть с компьютером, который играет согласно созданному алгоритму. Новые возможности Visual Studio. Легкое усвоение программы. Удобный интерфейс - "визитная карточка" приложения.

    курсовая работа [74,6 K], добавлен 20.12.2009

  • Знакомство с интерфейсом пользователя и сценарием использования программы игры в крестики и нолики. Функциональные и нефункциональные требования для персонального компьютера. Исключительные ситуации и реакция программы. Пример кода игры и комментарии.

    курсовая работа [236,5 K], добавлен 27.01.2014

  • Общая характеристика языков программирования. Краткий обзор C, C++, Java, PHP, Python, Delphi и Visual Basic. Процесс разработки программы игра "Крестики и нолики" с помощью AppWizard. Компиляция и компоновка модулей, определение интерфейса приложения.

    курсовая работа [2,5 M], добавлен 27.05.2014

  • Программный продукт для игры "Крестики-нолики". Описание пользовательского интерфейса. Факт базы данных, определяющий состояние счёта. Предикат изменяющий состояние игрового процесса и подсчитывающий количество занятых ячеек поля. Исходный код программы.

    курсовая работа [34,6 K], добавлен 19.05.2014

  • Разработка консольного приложения: описание и сценарий использования программы, интерфейс пользователя. Поэтапное описание создание кода компьютерной игры "Крестики нолики". Функциональные и нефункциональные требования, описание исключительных ситуаций.

    методичка [819,6 K], добавлен 12.05.2013

  • Разработка аналога игры "Крестики-нолики", где игроки выбирают размер поля. Правила игры. Интерфейс программы. Главная функция main. Класс XO. Метод вывода поля и хода игроков. Методы поиска крестиков, ноликов. Методы проверки выигрышных ситуаций игроков.

    курсовая работа [281,5 K], добавлен 30.01.2018

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.