Автор работы: Пользователь скрыл имя, 21 Октября 2012 в 13:25, курсовая работа
Delphi – это среда разработки программ, ориентированных на работу в Windows. В основе идеологии Delphi лежат методология объектно-ориентированного программирования и технология визуального проектирования.
Программа, создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе. Головная программа состоит из объявления списка используемых модулей и нескольких операторов, создающих объекты для необходимых форм и запускающих приложение на выполнение.
Введение………………………………………………………………………………….3
1 Разработка эскизного и технического проектов программы……………..………4
1.1 Задание…………………………………………………………………………….4
1.2 Назначение и область применения……………………………………...…….…4
1.3 Технические характеристики……………………………………………….…....4
2 Разработка рабочего проекта………………………………………………….……7
2.1 Разработка программы…………………………………………………..….……7
2.2 Написание программы...........................................................................................10
2.3 Текст программы…………………………………………………………..……..11
2.4 Описание программы…………………………………………………….....……16
3 Внедрение………………………………………………………………….…..…….20
Заключение………………………………………………………………………..……..22
Глоссарий………………………………………………………………………..….…....24
Список использованных источников…………………………………………..………26
Приложение……………………………………………………………………….…......27
Введение…………………………………………………………
Заключение……………………………………………………
Глоссарий………………………………………………………
Список использованных источников…………………………………………..……
Приложение……………………………………………………
Delphi – это среда разработки программ, ориентированных на работу в Windows. В основе идеологии Delphi лежат методология объектно-ориентированного программирования и технология визуального проектирования.
Программа, создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе. Головная программа состоит из объявления списка используемых модулей и нескольких операторов, создающих объекты для необходимых форм и запускающих приложение на выполнение.
Все объекты
компонентов размещаются в
1.1 Задание
Тема: Разработка приложения для Windows, моделирующего игру «Нечетный» и «Четный».
Условие задачи:
Два игрока, «Нечетный» и «Четный», по очереди ставят единицы и нули в незанятые позиции поля N x N. Каждый из игроков может ставить 1 или 0 в произвольную свободную позицию, тем самым, занимая ее.
Игра продолжается до заполнения всех позиций. После этого суммируются числа вдоль каждой строки и каждого столбца и главных диагоналей.
Число ODD нечетных сумм сравнивается с числом четных сумм EVEN.
Если ODD>Even, то выигрывает Нечетный, если EVEN>ODD выигрывает Четный. Если ODD=EVEN, результат считается ничейным.
Данный проект является игрой, и он применяется в развлекательных целях. Область применения: ПК, работающий под управлением ОС Microsoft Windows (версии 9x/2k/XP и более поздних).
1.3 Технические характеристики
Раздел «Технические характеристики» содержит следующие подразделы:
Для решения поставленной задачи необходимо использовать структуру данных типа массив, так как по условии говорится о поле NxN. Для визуализации решения задачи использована среда программирования Delphi 6. Использованы конструкции структурного программирования, как If Then, For To. Программа управляется через меню MainMenu.
В моей разработке алгоритм решения задачи упрощен тем, что вместе с игральным полем ведется параллельно еще одно поле, где отмечаются позиции 1 игрока (Nechet) и 2 игрока (Chet) для суммирования потом числа соответствующих позициях 1 – поля. Игроки ставят свои числа с помощью датчика случайных чисел. Ниже в блок схеме показано алгоритм формирования поля1 и вспомогательного поля2. После чего суммируются числа как сума строк столбцов и диагоналей как обычной квадратной матрицы, с учетом символьных отметок позиции игроков. Позиция игрока 1 отмечена символом «*», а позиция игрока 2 – «@».
Входные
данные 0 или 1 вырабатываются с помощью
функции случайных чисел
Выходные данные: сумма чисел игроков и сообщение о выигравшем игроке отображаются в поле TEdit.
Эта программа разработана в Delphi 6, поскольку данная среда разработки предоставляет все необходимые инструменты для решения поставленной задачи. Delphi 6, как и всякая современная среда разработки приложений, основана на объектно-ориентированном программировании (ООП). Эта технология программирования является той основой, которая и позволяет реализовать все функциональные возможности Delphi 6. При создании приложений на основе готовых компонентов с использованием свойств, методов и заранее определенных обработчиков событий можно обходиться программным кодом небольшого объема. Для разработчика это означает, что при разработке пользовательского интерфейса своих приложений он может получить значительную экономию времени.
Для нормальной работы данного приложения требуется наличие следующего аппаратного и программного обеспечения:
Минимальные системные требования:
Процессор – Pentium 400 MHz.
Оперативная память – 512 Mb.
Жесткий диск – 10 Gb.
Операционная система – Windows XP Professional
Программное обеспечение – Borland Database Engine.
2. Разработка рабочего проекта
Программа, моделирующая игру «Нечет» и «Чет» разработана на языке Object Pascal в визуальной среде Delphi 6. Проект содержит одно окно-Form1.
Компонент 1 Form1
Свойства:
Caption=’Игра Чет Нечет’
Menu=MainMenu1
Color=clGradientActiveCaption
Событие=MainMenu1
End
Компонент 2-MainMenu1.
Свойства:
object MainMenu1: TMainMenu
Left = 14
Top = 184
object N1: TMenuItem
Caption = ‘Игра’
object N2: TMenuItem
Caption = ‘Новая игра’
OnClick = N2Click
end
object N3: TMenuItem
Caption = ‘Выход’
OnClick = N3Click
end
end
object N4: TMenuItem
Caption = ‘Настройка’
object N6: TMenuItem
Caption = ‘Второй игрок’
object N7: TMenuItem
Caption = ‘Компьютер’
end
end
end
object N5: TMenuItem
Caption = ‘Справка’
object N8: TMenuItem
Caption = ‘Правила игры’
OnClick = N8Click
end
object N9: TMenuItem
Caption = 'о программе '
OnClick = N9Click
end
end
end
Компонент 3 – TstringGrid.
Свойства:
object StringGrid2: TStringGrid
Left = 86
Top = 48
Width = 249
Height = 153
ColCount = 6
DefaultColWidth = 40
FixedCols = 0
RowCount = 6
FixedRows = 0
TabOrder = 3
Visible = False
end
Компонент 4 – TEdit
Свойства;
object Edit1: TEdit
Left = 0
Top = 208
Width = 377
Height = 28
Font. Charset = DEFAULT_CHARSET
Font. Color = clOlive
Font. Height = -16
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 2
end
Компонент 5-Tbutton.
Свойства:
object Button1: TButton
Left = 88
Top = 233
Width = 250
Height = 33
Caption = Показать
Font. Charset = DEFAULT_CHARSET
Font. Color = clNavy
Font. Height = -16
Font. Name = 'MS Sans Serif'
Font. Style = []
ParentFont = False
TabOrder = 1
OnClick = Button1Click
End
2.2 Написание программы
Программа написана в среде программирования Delphi6. Основной компонент – игральное поле StringGrid1. В моем проекте прграммы 1- игрок – пользователь, 2- игрок – компьютер. Для компьютера в данном проекте не предусмотрена выигрышная стратегия. Компьютер ставит числа в случайно выбранную свободную позицию с помощью функции случайных чисел.
Выигрышную
стратегию можно построить
2.3 Текст программы
// Программа
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, Grids, StdCtrls, Menus;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N5: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Edit1: TEdit;
StringGrid2: TStringGrid;
procedure StringGrid1MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure N2Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure N8Click (Sender: TObject);
procedure N9Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var {Глобальные переменные}
Form1: TForm1;
q1, w1, q2, w2:array [0..6] of integer;
i, j, chet, nechet:integer;
implementation
{$R *.dfm}
// главная процедура, где вставляеются единицы и нули в позиции игроков
procedure TForm1. StringGrid1MouseDown (Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
label 1,2;
var nk, z1, z2, a, b, k, l:integer;
begin
//StringGrid1 Поле игроков размещена
// StringGrid2 используется для фиксирования позиции игроков
randomize; {генератор случайных чисел}
nk:=stringgrid1. RowCount; {фиксируется количество строк (столбцов тоже).}
k:=stringgrid1. DefaultColWidth; {фиксируется ширина столбцов таблицы}
l:=stringgrid1. DefaultRowHeight; {фиксируется высота строк}
stringgrid1. Font. Color:=clblue;
z1:=trunc (x/k); z2:=trunc (y/l); {фикситруются координаты указателя мышки}
// Если позиция занята, то переход к на новый ход
if (stringgrid1. Cells [z1, z2]='1') or
(stringgrid1. Cells [z1, z2]='0') then goto 1
// иначе с помощью функций случайных чисел ставится 0 или 1
else begin stringgrid2. Cells [z1, z2]:='*';
stringgrid1. Cells [z1, z2]:=inttostr (random(2));
end;
// моделирование хода компьютера
// компьютер позицию занимает случайными числами в интервале от 0 до nk
// nk-количество строк
2: a:=random(nk);
b:=random(nk);
// Если позиция свободна ставит 0 или 1
// Иначе переход на другую позицию
if (stringgrid1. Cells [a, b]<>'1') and
(stringgrid1. Cells [a, b]<>'0') then begin
stringgrid2. Cells [a, b]:='@';
stringgrid1. Cells [a, b]:=inttostr (random(2)) end
else goto 2;
Информация о работе Разработка приложения для Windows, моделирующего игру «Нечетный» и «Четный»