Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


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

Тип Реферат
Предмет Информатика и программирование
Просмотров
749
Размер файла
36 б
Поделиться

Ознакомительный фрагмент работы:

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

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

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

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

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

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

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

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

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

группы Т-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 () проверяет, расположены ли фишки в правильном порядке. фишки расположены правильно, если числа в них образуют матрицу:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15

Метод private void move (int cx, int cy) перемещает фишку, на которой сделан щелчок, в соседнюю пустую клетку: (cx, cy) - клетка, в которой сделан щелчок, (ex, ey) - пустая клетка. Сначала проверим, возможен ли обмен и, если возможен, то перемещаем фишку из (x, y) в (ex, ey). Затем отрисовываем поле. После окончания игры программа предлагает сыграть еще раз: No - завершить работу программы, Yes - новая игра. С помощью функции MessageBox. Show выводится сообщение "Поздравляю! Вы справились с поставленной задачей!. Еще раз?", "Собери картинку". Функция MessageBoxButtons. YesNo позволят ответить Да или Нет.

С помощью private void Form1_MouseClick (object sender, MouseEventArgs e) обрабатывается щелчок кнопкой мыши на игровом поле, то есть преобразуются координаты мыши в координаты клетки.

Метод private void новаяИграToolStripMenuItem1_Click (object sender, EventArgs e) начинает новую игру.

Листинг программы приведен в приложении 1.

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

Основные требования:

загрузка картинки из файла изображения. BMP;

разбиение картинки на 15 фрагментов и расположение их случайным образом на игровом поле 4х4, для чего использовать генератор случайных чисел;

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

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

использовать классы, методы и функции C#;

ввод исходных данных производить из файла изображения;

вывод данных производить в матрицу;

закончить игру, когда картинка будет собрана;

предложить начать новую игру или закончить игру.

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

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

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

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

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

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

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

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

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

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

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

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

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

Результатом тестирования является также выявление недостатков в самом проекте данной игры. А именно, программа работает только с одной картинкой, чтобы заменить картинку необходимо в исходнике заменить имя загружаемого файла и снова откомпилировать программу. Игрок не может выбрать картинку, которую он хотел бы собрать. Программа работает только с одним типом файла изображения bmp. Программа не имеет меню для выбора необходимого файла и не предоставляет справочной информации. Кроме того, программа не предоставляет возможность выбрать, на сколько фрагментов разбивать картинку, а всегда разбивает на 15 фрагментов. Программа также не имеет уровней сложности.

Заключение

Разработка программы "Собери картинку" показывает, что данный процесс требует значительных творческих и умственных усилий, наличия определенного объема знаний по программированию на языке C# и умелого использования этих знаний.

Кроме того, важными моментами при разработки программы являются описание спецификации программы, алгоритма ее реализации, хотя C# и предоставляет необходимые средства для упрощения процесса программирования.

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

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

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

1. Агуров, П.В. C#. Сборник рецептов / П.В. Агуров. - СПб.: БХВ-Петербург, 2007. - 411 с.

2. Буткевич, Е. Пишем программы и игры для сотовых телефонов /Е. Буткевич. - СПб.: Питер, 2006. - 204 с: ил.

3. Дрейер, М. C# для школьников: Учебное пособие / М. Дрейер. Перевод с англ. под ред.В. Биллига - М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2009. - 128 с.: ил., табл. - (Лицей информационных технологий).

4. Жарков, В.А. Компьютерная графика, мультимедиа и игры на Visual C# 2005 /В.А. Жарков. - М.: Жарков Пресс, 2005. - 812 с.

5. Зубкова, Т.М. Технология разработки программного обеспечения: Учебное пособие /Т.М. Зубкова. - Оренбург: ГОУ ОГУ, 2004. - 101 с.

6. Культин, Н.Б. C# в задачах и примерах /Н.Б. Культин. - СпБ.: БХВ-Петербург, 2007. - 241 с.

7. Лабор, В.В. Си Шарп: Создание приложений для Windows / В.В. Лабор. - Мн.: Харвест, 2003. - 384 с.

8. Лунгу, К.Н. Линейное программирование: Руководство к решению задач /К.Н. Лунгу. - М.: ФИЗМАТЛИТ, 2005. - 128 с.

9. Мак-Дональд, Мэтью. Microsoft ASP.net 3.5 с примерами на C# 2008 для профессионалов, 2-е изд.: Пер. с англ. / Мак-Дональд, Мэтью, Шпушта Марио. - М.: ООО “И.Д. Вильямс", 2008. - 1424 с.: ил.

10. Павловская Т.А. С#. Программирование на языке высокого уровня: Учебник для вузов /Т.А. Павловская. - СПб.: Питер, 2009. - 432 с: ил.

11. Степанченко, И.В. Методы тестирования программного обеспечения: Учеб. пособие /И.В. Степанченко. - Волгоград: ВолгГТУ, 2006. - 74 с.

12. Стефан, Рэнди Дэвис. C# 2005 для "чайников" / Стефан Рэнди Дэвис, Чак Сфер. - М.: ИД Вильямc, 2008. - 576 с.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно