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

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

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

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

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

К-во Просмотров: 144
Бесплатно скачать Курсовая работа: Разработка программы игры "Собери картинку"