Игра Sokoban. Курсовая работа (т). Информационное обеспечение, программирование.

Игра Sokoban. Курсовая работа (т). Информационное обеспечение, программирование.




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

“Белорусский государственный университет информатики и
радиоэлектроники”










Объектно-ориентированное
программирование


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


Игра теснейшим образом связана с развитием
личности


Игра - это жизненно важный и необходимый элемент
в развитии как индивидуума, так и общества в целом.


В данной работе была реализована игра «Sokoban».
Sokoban (Soko-Ban, яп. сокобан - «кладовщик») - логическая игра-головоломка, в
которой игрок передвигает ящики по лабиринту, показанному в виде плана, с целью
поставить все ящики на заданные конечные позиции. Только один ящик может быть
передвинут за раз, причём герой игры - «кладовщик» - может только толкать
ящики, но не тянуть их. Поскольку игру достаточно сложно воссоздать физически,
обычно она реализуется в виде компьютерной игры.


Игра Sokoban была создана в 1980 году Hiroyuki
Imabayashi, и издана в 1982 году компанией Thinking Rabbit (Япония). Кроме
того, компания выпустила три сиквела: Boxxle, Sokoban Perfect и Sokoban
Revenge.


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


# - язык программирования, сочетающий
объектно-ориентированные и аспектно-ориентированные концепции. Разработан в
1998-2001 годах группой инженеров под руководством Андерсa Хейлсбергa в
компании Microsoft как основной язык разработки приложений для платформы
Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET,
поэтому программы на нём можно создавать и компилировать даже без
инструментальных средств вроде Visual Studio.# относится к семье языков с
C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык
имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку
операторов, указатели на функции-члены классов, атрибуты, события, свойства,
исключения, комментарии в формате XML. Переняв многое от своих предшественников
- языков С++, Java, Delphi, Модула и Smalltalk - С#, опираясь на практику их
использования, исключает некоторые модели, зарекомендовавшие себя как
проблематичные при разработке программных систем: так, C# не поддерживает
множественное наследование классов (в отличие от C++).# разрабатывался как язык
программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего,
от возможностей самой CLR. Это касается, прежде всего, системы типов C#,
которая отражает FCL. Присутствие или отсутствие тех или иных выразительных
особенностей языка диктуется тем, может ли конкретная языковая особенность быть
транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии
1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует
ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C#
3.0, представляющим собой расширения языка, не опирающиеся на расширения
платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным
языкам, многие возможности, которых лишены «классические» языки
программирования. Например, сборка мусора не реализована в самом C#, а
производится CLR для программ, написанных на C# точно так же, как это делается
для программ на VB.NET, J# и др.




Рассмотрим основные функции, реализованные в
программе:


·  Возможность выбора карты в произвольном порядке;


·       Переход к следующему уровню без
прохождения предыдущего;


·       Отмену последнего сделанного хода;


·       Сохранение результатов игры;


·       Просмотр результатов игроков;


Разработка детальной схемы будущей программы
производилась на унифицированном языке моделирования (UML), который является
стандартным инструментом для создания "чертежей" программного
обеспечения. С помощью UML можно визуализировать, специфицировать,
конструировать и документировать программы. Диаграмма классов приложения
представлена на Рис.2.




Конструктор.
Происходит загрузка первой карты, в сответствии с которой устанавливаются
размеры окна.

protected
override void OnPaint(PaintEventArgs e)

Обновление(прорисовка)
окна игры. Вызывается автоматически.

Graphics
g = Graphics.FromHwnd(this.Handle);

private
void Form1_Load(object sender, EventArgs e)

private
void Form1_KeyUp(object sender, KeyEventArgs e)

Количество
прорисовываемых клеток (0,2,3)
Image
myimage1 = new Bitmap(Properties.Resources.Empty);

public
void загрузитьКартуToolStripMenuItem_Click(object sender, EventArgs e)

string
fileName = openFileDialog1.FileName;

private
void выходToolStripMenuItem_Click(object sender, EventArgs e)

private
void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)

private
void отменаХодаToolStripMenuItem_Click(object sender, EventArgs e)

Graphics
g1 = Graphics.FromHwnd(this.Handle);

Image
myimage1 = new Bitmap(Properties.Resources.Empty);

private
void следующийУровеньToolStripMenuItem_Click(object sender, EventArgs e)

private
void сохранитьРезультатToolStripMenuItem_Click(object sender, EventArgs e)

Сохранение
результата. Отображается форма form3

private
void посмотретьРезультыToolStripMenuItem_Click(object sender, EventArgs e)

Просмотр
реультатов. Отображается форма form4

Счетчик
поставленных на места ящиков

Возвращает
значение поля(Empty, Wall, Men, Box, Place, Boxplace, Menplace)

public
void ReadMap(StreamReader reader)

public
void Draw(int x1, int y1, Graphics g1, Image myimage1, int kol)

Прорисовка
ближайших клеток поля(две или три)

Форма для вывода информации об игре




private
void button1_Click(object sender, EventArgs e)

Закрытие
окна с информацией об игре

Форма для сохранения результатов игры




public
void button1_Click(object sender, EventArgs e)

Запись
результатов игры в файл(если файл не существует, то он будет создан),
закрытие окна сохранения результатов

Форма для просмотра результатов игры




Чтение
и вывод результатов из файла на экран, если файл с данным именем игрока
существует

private
void button2_Click(object sender, EventArgs e)

На рис.3 изображена блок-схема
метода отменаХодаToolStripMenuItem_Click()




































Рис. 3. Метод отмена
ХодаToolStripMenuItem_Click()





На рис.4 изображена блок-схема метода ReadMap()












































На рис.5 изображена блок-схема метода OpenNextLevel()




































После запуска программы появляется окно игры с
уже загруженной картой первого уровня(рис.6):





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


Используя клавиши на клавиатуре (стрелки вверх,
вниз, вправо, влево), поставьте все ящики на места. После того как вы это
сделали, появится окно для сохранения результата данного уровня(рис.7):





Здесь необходимо ввести ваше имя, под которым
будет сохранен результат. После того, как Вы это сделали, нажимаем клавишу
«Готово». Результат сохранился и загружается автоматически следующий уровень
игры. Далее действия повторяются.


В игре реализована возможность выбора уровня для
прохождения в произвольном порядке. Для этого необходимо выбрать в меню «Файл»
пункт «Загрузить карту» и открыть необходимый уровень:




Также возможен переход к следующему уровню не
проходя текущий. Для этого нужно открыть меню «Файл» и выбрать пункт «Следующий
уровень»(рис. 9). После нажатия уровень автоматически загрузиться.




Вы можете также сделать отмену последнего
сделанного вами хода. Для этого необходимо в меню «Файл» выбрать пункт «Отмена
хода»(рис. 10). Загрузится предыдущее расположение объектов на карте.




Для того, чтобы просмотреть результаты игры
игрока, необходимо выбрать в меню «Файл» пункт «Просмотреть результаты». На
экране появляется диалоговое окно, где необходимо ввести имя игрока, результат
которого Вы хотите видеть. Нажимаем «Готово»:


Для просмотра информации о программе необходимо
выбрать пункт «О программе». Появится окно с информацией о создателе игры:




В результате мною был написан аналог игры
«Sokoban». Поставленная задача выполнена.


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


процессор AMD
400 MHz (или
аналогичный); оперативная память 32 Мб; Windows
95/98/NT; монитор.


процессор AMD
800 MHz (или
аналогичный); оперативная память 64 Мб; Windows
XP; монитор с
поддержкой 32-ух битных цветов.





1.      Microsoft
Corporation - MSDN
Library - January
2005;


.        Герберт Шилд
«Программирование на C/C++»;


.        Джордж Шеферд
«Программирование на Visual
C++.Net»;


4.      http://www.microsoft.com/Rus/Msdn/publish/articles






Похожие работы на - Игра Sokoban Курсовая работа (т). Информационное обеспечение, программирование.
Перышкин 9 Лабораторные Работы
Курсовая работа по теме Государственный страховой надзор в Российской Федерации
Контрольные Работы По Геометрии Кронгауз
Контрольная Работа По Лексика 10 Класс
Реферат по теме Охрана природы в Республике Дагестан
Курсовая Разработка Технологического Процесса
Гдз Контрольные Работы По Русскому Виноградова
Написать Сочинение Про Полицейского
Курсовая работа по теме Технологии выработки и принятия управленческих решений
Реферат: Курс политической экономии. Скачать бесплатно и без регистрации
Реферат: Общее понятие трудового стажа и его значение
Реферат по теме Шпора по истории политических и правовых учений
Доклад: Эхо, эхолот, эхолокация
Контрольная работа по теме Общественное мнение и право
Реферат: Бухгалтерский учёт в крестьянских фермерских хозяйствах (КФХ)
Последовательность Выполнения Практической Работы
Реферат по теме Две особенности русского марксизма
Реферат: Феномен смерти. Скачать бесплатно и без регистрации
Реферат: Изменение геополитической системы в Европе в 1990 году. Скачать бесплатно и без регистрации
Реферат На Тему Навруз
Реферат: Анализ Закона Республики Беларусь "О защите прав потребителей жилищно-коммунальных услуг"
Реферат: Управление, интуиция и неорационализм
Реферат: A Cultural Study Of Childbirth In Rural

Report Page