Смекни!
smekni.com

Разработка программы игры "Собери картинку" (стр. 1 из 2)

Федеральное Государственное образовательное учреждение

Калачевский техникум-интернат

Федерального Агентства по Здравоохранению и Социальному обеспечению

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

По дисциплине

"Технология разработки программных продуктов"

тема: "Разработка программы игры "Собери картинку""

Выполнил студент

группы Т-43

Шипаев Ю.Н.

Специальность №230105

"Программное обеспечение

вычислительной техники автоматизированных систем"

Преподаватель: Логачёва Е.Г.

Калач-на-Дону 2010 г.

Содержание

Введение

1. Разработка эскизного и технического проекта программы

1.1 Назначение и область применения

1.2 Технические характеристики

2. Разработка рабочего проекта

2.1 Разработка программы

2.2 Спецификация программы

2.3 Описание программы

2.4 Тестирование программы

Заключение

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

Введение

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

Многое захватывает в таком творчестве. И не сам процесс игры, а разработка игровой вселенной, ее проектирование и реализация. Когда можно слить воедино сценарий, графику, музыку, искусно задуманный и умело запрограммированный алгоритм - создать единый фантастический мир, живущий по законам, которые ты же для него и придумал. В последнее время в общем объеме вновь создаваемого программного обеспечения различного назначения увеличивается доля net-приложений - программ, ориентированных на платформу Microsoft.net. Это объясняется, прежде всего, новыми возможностями, которые предоставляет платформа прикладным программам, а также тем, что технология.net поддерживается новейшими операционными системами.

Microsoft.net - это технология, в основе которой лежит идея универсального программного кода, который может быть выполнен любым компьютером, вне зависимости от используемой операционной системы. Универсальность программного кода обеспечивается за счет предварительной (выполняемой на этапе разработки) компиляции исходной программы в универсальный промежуточный код (CIL-код, Common Intermediate Language), который во время загрузки транслируется в выполняемый. Преобразование промежуточного кода в выполняемый осуществляет JIT-компилятор (от Jast In Time - в тот же момент, "на лету"), являющийся элементом виртуальной выполняющей системы (Virtual Execution System, VES). Работу.net-приложений в операционной системе Windows обеспечивает Microsoft.net Framework.

Цель работы: разработать программу игры "Собери картинку".

Для достижения поставленной цели в работе решались следующие задачи:

разработать эскизный и технический проект программы;

разработать рабочий проект программы.

Программа игры "Собери картинку" написана в среде программирования Microsoft Visual C#.

Среда разработки Microsoft Visual C# является инструментом разработки net-приложений для Windows. В ней интегрированы удобный дизайнер форм, специализированный редактор кода, отладчик, мастер публикаций и другие компоненты, необходимые программисту.

1. Разработка эскизного и технического проекта программы

1.1 Назначение и область применения

Программа игры "Собери картинку" - графический вариант хорошо известной игры "15". Ее цель - расположить фишки (фрагменты картинки) в правильном порядке. Это логически не сложная и достаточно простая в управлении и использовании программа.

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

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

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

1.2 Технические характеристики

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

К логическим (иногда их называют еще классическими) играм, относятся в первую очередь те, с помощью которых человечество коротало вечера до изобретения компьютера. Это карточные игры, игры со словами и настольные игры: шахматы, шашки, нарды, крестики-нолики, маджонг, разнообразные пасьянсы. В последнее время к "классике" стали также относить и простейшие компьютерные игры раннего периода, например "15", "Собери картинку" тетрис, "Сапер" (Minesweeper) или Bust-A-Move.

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

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

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

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

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

Программа сделана на языке С# в качестве net-приложения. Процесс создания программы состоит из двух шагов: сначала создается форма, затем - функции обработки событий.

Форма создается путем добавления необходимых компонентов и последующей их настройки.

Основную работу в программе выполняют функции обработки.

Для написания программ на языке C# понадобятся:

1. Пакет Microsoft.net Framework 3.5 Это платформа, которая включает все необходимое для создания и запуска программ - библиотеки классов, компоненты и среду, где ваши приложения будут исполняться.

2. Среда разработки, для.net Framework. Среда разработки нужна для того, чтобы сделать процесс работы максимально удобным. Мы рекомендуем Microsoft Visual C# 2008 Express Edition. Если Visual C# 2008 Express уже содержит.net Framework, выполнять пункт 1 не нужно.

Программы на C# можно писать и в простом текстовом редакторе (например, в Блокноте) и компилировать (т.е. преобразовывать программный код в набор команд, понятных компьютеру) при помощи так называемого "Компилятора C#", входящего в состав.net Framework. Однако целесообразно использовать Visual C# Express - упрощенную среду для разработки на языке C#. В ней можно разрабатывать и приложения для Windows, и консольные приложения с текстовым интерфейсом пользователя. Visual C# Express упростит процесс постижения программирования.

2. Разработка рабочего проекта

2.1 Разработка программы

Программа имеет имя Kursova. Разработка программы начинается с описания используемых входных данных, в частности, задается размер игрового поля 4х4, который хранится в именованных константах nw и nh. Затем задается графическая поверхность формы с помощью метода System. Drawing. Graphics, описываем картинку, используя метод Bitmap. Далее задаем переменные, в которых будет храниться высота и ширина клетки и переменные, в которых будут храниться координаты пустой клетки. Игровое поле хранит номера фрагментов картинки. Признак отображения номера фишки сначала задается как false.

Далее в программе описываются методы. С помощью метода Form1 () загружаем картинку из файла типа bmp. Определяем высоту и ширину клетки (фишки):

cw = (int) (pics. Width / nw);

ch = (int) (pics. Height / nh);

Устанавливаем размер клиентской (внутренней) области формы: this. ClientSize = new System. Drawing. Size (cw * nw + 1, ch * nh + 1 + menuStrip1. Height); и определяем ее как рабочую графическую поверхность g = this. CreateGraphics ();

Метод private void newGame () начинает новую игру, располагает фишки в правильном порядке, последнюю фишку делаем пустой.

Метод private void mixer () перемещает фишки. В переменной d храним положение (относительно пустой) перемещаемой клетки: 0 - слева; 1 - справа; 2 - сверху; 3 - снизу. Функция Random () генерирует случайные числа от 1 до 15, в соответствии с которыми располагаются фрагменты картинки на игровом поле. В цикле for (int i = 0; i < nw * nh * 10; i++), где nw * nh * 10 - кол-во перестановок происходит анализ перемещения фрагментов картинки и определяется фишка, которую нужно переместить в пустую клетку, запоминаем координаты пустой фишки.

Метод private void drawField () обрисовывает поле. С помощью вложенного цикла выводим фишку с картинкой, где ( ( (field [i,j] - 1)% nw) * cw, (int) ( (field [i,j] - 1) / nw) * ch) - координаты левого верхнего угла области файла-источника картинки, затем выводим пустую фишку, рисуем границы и определяем номер перемещаемой фишки.

Метод private Boolean finish () проверяет, расположены ли фишки в правильном порядке. фишки расположены правильно, если числа в них образуют матрицу: