.

Моделирование игровых программ

Язык: русский
Формат: реферат
Тип документа: Word Doc
76 670
Скачать документ

Министерство образования и науки Российской Федерации

Армавирский государственный педагогический университет

Кафедра информатики и информационных технологий обучения

КУРСОВАЯ РАБОТА

ПО ИНФОРМАТИКЕ

Тема работы: „ Моделирование игровых программ

средствами Delphi ”

Автор работы: студентка 303
группы МФ

Татарникова Людмила
Владимировна

Научный
руководитель: доцент Неверов

Александр
Владимирович

Оценка:____________________________

Армавир

2004 г.

Содержание

Введение 3

Этапы разработки проекта 4

Заключение 13

Список литературы .14

Приложение ……………………………………………………………………………….15

Введение

Система Delphi является одной из лучших разработок в современной теории
и практики программирования. Как любая подобная система, Delphi
предназначена для разработки программ и имеет две характерные
особенности: создаваемые ею программы могут работать не только под
управлением Windows, а сама она относится к классу инструментальных
средств ускоренной разработки программ. Это ускорение достигается за
счет следующих свойств Delphi: визуального конструирования форм и
широкого использования библиотеки визуальных компонентов.

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

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

Целью данной курсовой работы является создание одной из таких игр в
среде программирования Delphi 6. Игра носит название „Собери картинку”.
Она служит аналогом игры „15”, только игрок перемещает не цифры, а
фрагменты картинки.

Этапы разработки проекта

Моделирование игры „Собери картинку” проходит ряд этапов. Их выполнение
гарантирует достижение поставленной цели.

1.В Delphi 6 создать новый проект под названием „Soberi”. Установить
основные свойства окна формы:

Left = 239

Top = 185

BorderIcons = [biSystemMenu]

BorderStyle = bsSingle

Caption =Собери картинку

ClientHeight = 254

ClientWidth = 255

Color = clBtnFace

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = ‘MS Sans Serif’

Font.Style = []

Menu = MainMenu1

OldCreateOrder = False

OnCreate = FormCreate

OnMouseDown = FormMouseDown

OnPaint = FormPaint

PixelsPerInch = 96

TextHeight = 13.

2.Создать процедуру по созданию формы (обработка события OnCreate):

procedure TForm1.FormCreate(Sender: TObject) (стр.21)

Для ее выполнения необходимо внести в программу следующие процедуры:

procedure TForm1.Formmas (стр.18)

procedure TForm1.NewGame (стр.17)

Процедура Formmas формирует массив клеток игрового поля. NewGame
позволяет загружать картинку ‘pic_1.bmp’ из внешнего растрового файла,
если при обращении к файлу происходит ошибка, то форма закрывается.
Также при выполнении этой процедуры устанавливается размер формы, равный
размеру картинки. Картинка разрезается на фрагменты, которые
перемешиваются (процедура Mixer стр.20) и отображаются на форме
(процедура ShowPole стр.19). Для перемешивания 150 раз случайным образом
выбирается фрагмент изображения, находящийся рядом с пустой клеткой и
перемещается в эту пустую клетку. Для отображения фрагментов на форме
задаются прямоугольные области, на канву которых копируются части
изображения. Форма приобретает вид:

3. Создать процедуру по обработке события OnMouseDown:

procedure TForm1.FormMouseDown(Sender: TObject; Button:
TMouse Button; Shift: TShiftState; X, Y: Integer) (стр.19)

Она позволяет при нажатии на кнопку мыши вычислять номер фрагмента, на
котором сделан щелчок. Далее необходимо создать процедуру Move
(стр.18). В ней проверяется, свободна ли одна из соседних клеток. Если
да, то этот фрагмент стирается и заново отображается в соседней клетке.
Каждому фрагменту изображения поставлен в соответствие его порядковый
номер. Это позволяет проверить, собраны ли номера в нужном порядке, то
есть собрана ли картинка целиком. Для этого нужно создать функцию
Finish (стр.17), которая будет выполнять эту проверку. Если картинка
собрана, то на пустую клетку копируется последний фрагмент изображения.
На экран выводится сообщение „ Цель достигнута! ” Игрок имеет
возможность сыграть еще раз, выбрав „Yes ”, если он выбирает „ No ”, то
программа завершает свою работу.

4. Разместить на форме компоненты MainMenu1 и OpenPictureDialog1 из
страниц Standart и Dialog соответственно. Создать главное меню программы
(двойной щелчок мышью по MainMenu) следующей структуры:

Игра Уровень Справка

Новая Простой Правила игры

Набор картинок Средний О программе

Выход Сложный

Тогда форма примет вид:

5. Создать процедуру для пункта меню игра – новая:

procedure TForm1.N2Click(Sender: TObject) (стр.22 )

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

6. Для пункта набор картинок нужно сделать следующее: заполнить
компонент OpenPictureDialog файлами с изображениями формата bmp, затем
создать процедуру (щелчок мышью по набор картинок)

procedure TForm1.N3Click(Sender: TObject) (стр.22 ),

которая даст возможность выбирать эти изображения во время игры.

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

7.

Программируем пункт меню выход:

procedure TForm1.N11Click(Sender: TObject) (стр.21 )

Эта процедура обеспечивает выход из игры.

8. Чтобы была возможность выбора уровня игры, необходимо создать
следующие процедуры:

для пункта простой – procedure TForm1.N8Click(Sender: TObject) (стр.22
);

для пункта средний – procedure TForm1.N9Click(Sender: TObject) (стр.22
);

для пункта сложный – procedure TForm1.N10Click(Sender: TObject)
(стр.23).

Уровни зависят от количества фрагментов, на которые разбивается
картинка.

Простой уровень Средний
уровень

Сложный уровень

9. Чтобы игрок мог ознакомиться с правилами игры, выбрав в меню пункт
правила игры, необходимо сделать следующее:

В программе Word Pad набрать текст, содержанием которого являются
правила игры „ Собери картинку ”, сохранить его в файле формата rtf под
названием „Правила”. Полученный файл сохранить в папке, где находится
проект Soberi.

Создать новую форму Form3;

Разместить на форме объекты: Button1 и Panel1 из страницы Standart и
RichEdit1 из Win32;

Изменить некоторые свойства объектов:

Для Panel1:

Align – alBottom.

Для Button1:

Caption – Закрыть.

Для RichEdit1:

Align – alClient;

ScrollBars – Vertical;

Форма будет иметь вид:

Командой Use Unit (Alt+F11) добавить к основной программе Unit3,
связанный с Form3;

Создать процедуру для пункта правила игры (щелчок мышью по правила
игры):

procedure TForm1.N6Click(Sender: TObject) (стр.22 )

Эта процедура выводит на экран форму Form3 и помещает на ее компонент
RichEdit содержимое текстового файла „ Правила ”. Форма принимает вид:

Таким образом, игрок получает возможность ознакомиться с правилами игры

i then

begin

Finish:=False;

break;

end;

if col 0 then
Canvas.CopyRect(Dest,pic.Canvas,Source)

else
Canvas.Rectangle((j-1)*wc,(i-1)*hc,j*wc,i*hc);

end;

end;

procedure TForm1.Mixer;

var

x1,y1: integer;

x2,y2: integer;

d: integer;

i: integer;

begin

x1:=H; y1:=W;

randomize;

for i:=1 to 150 do

begin

repeat

x2:=x1;

y2:=y1;

d:=random(4)+1;

case d of

1: dec(x2);

2: inc(x2);

3: dec(y2);

4: inc(y2);

end;

until (x2>=1) and (x2=1) and (y2

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Ответить

Курсовые, Дипломы, Рефераты на заказ в кратчайшие сроки
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020