Создание электронного варианта игры Домино

Автор работы: Пользователь скрыл имя, 16 Октября 2013 в 13:16, курсовая работа

Краткое описание

Разрабатываемая игра “Домино” является компьютерным вариантом настольной игры, которая предназначена для парной игры за одним компьютером, имеет удобный и понятный пользовательский интерфейс с возможность перемещения костяшек по полю.
Каждый игрок получает по семь костяшек, остальные размещаются в закрытом резерве. Начинает тот игрок, у которого наибольшее значение (например 6-6). Далее игроки выставляют костяшки с соответствующими очками. Если подходящих костяшек нет, то приходится добирать из резерва. Игра заканчивается, когда один из игроков выложит последнюю костяшку.

Содержание

ВВЕДЕНИЕ 4
1 ПОСТАНОВКА ЗАДАЧИ 5
2 ПРАКТИЧЕСКАЯ ЧАСТЬ 6
2.1 Выбор технических и программных средств 6
2.2 Описание классов, объектов, свойств и методов разрабатываемого программного средства 8
2.3 Блок-схема алгоритма работы программы 11
2.4 Описание функционирования программы 13
3 ТЕСТИРОВАНИЕ ПРОГРАММНОГО СРЕДСТВА 15
3.1 Тестирование программного средства на различные входные данные и его реакция на них 15
3.2 Тестирование программного средства в различных аппаратных средах 15
4 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 16
4.1 Требования к установке программного обеспечения: 16
4.2 Руководство пользователя по работе с программным средством 16
ЗАКЛЮЧЕНИЕ 19
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 20

Вложенные файлы: 1 файл

3. Пояснительная.docx

— 250.88 Кб (Скачать файл)

Содержание

 

ВВЕДЕНИЕ 4

1 ПОСТАНОВКА  ЗАДАЧИ 5

2 ПРАКТИЧЕСКАЯ  ЧАСТЬ 6

2.1 Выбор технических  и программных средств 6

2.2 Описание  классов, объектов, свойств и методов  разрабатываемого программного  средства 8

2.3 Блок-схема  алгоритма работы программы 11

2.4 Описание  функционирования программы 13

3 ТЕСТИРОВАНИЕ  ПРОГРАММНОГО СРЕДСТВА 15

3.1 Тестирование  программного средства на различные  входные данные и его реакция  на них 15

3.2 Тестирование  программного средства в различных  аппаратных средах 15

4 РУКОВОДСТВО  ПОЛЬЗОВАТЕЛЯ 16

4.1 Требования  к установке программного обеспечения: 16

4.2 Руководство  пользователя по работе с программным  средством 16

ЗАКЛЮЧЕНИЕ 19

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 20

ПРИЛОЖЕНИЕ  А 21

 

 

ВВЕДЕНИЕ

Тема  курсового проекта – создание электронного варианта игры Домино.

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

В качестве средств разработки были выбраны: интегрированная  среда разработки Microsoft Visual Studio 2012 и язык программирования C# для платформы .NET Framework 3.5.

Руководителем курсового проекта является – xxx.

 

 

 

1 ПОСТАНОВКА ЗАДАЧИ

Разрабатываемая игра “Домино” является компьютерным вариантом настольной игры, которая предназначена для парной игры за одним компьютером, имеет удобный и понятный пользовательский интерфейс с возможность перемещения костяшек по полю.

Каждый  игрок получает по семь костяшек, остальные  размещаются в закрытом резерве. Начинает тот игрок, у которого наибольшее значение (например 6-6). Далее игроки выставляют костяшки с соответствующими очками. Если подходящих костяшек нет, то приходится добирать из резерва. Игра заканчивается, когда один из игроков выложит последнюю костяшку.

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

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

 

 

2 ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1 Выбор  технических и программных средств

В качестве средств разработки были выбраны: интегрированная  среда разработки Microsoft Visual Studio 2012, язык программирования C# и платформа .NET Framework 3.5.

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

C# (произносится си шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения,комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Delphi, Модула, Smalltalk и в особенности Java — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является исполняющая среда Common Language Runtime (CLR), способная выполнять как обычные программы, так и серверные веб-приложения. .NET Framework поддерживает создание программ, написанных на разных языках программирования.

Считается, что платформа .NET Framework явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу Java компании Sun Microsystems (ныне принадлежит Oracle).

Хотя .NET является патентованной технологией  корпорации Microsoft и официально рассчитана на работу под операционными системами  семейства Microsoft Windows, существуют независимые проекты (прежде всего это Mono и Portable.NET), позволяющие запускать программы .NET на некоторых других операционных системах.

2.2 Описание классов,  объектов, свойств и методов                        разрабатываемого программного средства

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

Класс dominoClass содержит следующие поля:

  • Form1 form; - указывает на главную форму;
  • string name; - хранит имя объекта;
  • public int zn1; - хранит первое значение объекта;
  • public int zn2; - хранит второе значение объекта;
  • PictureBox pictureBox; - хранит параметры контейнера для изображения объекта;
  • public ArrayList arrayList; - указывает список, которому принадлежит объект;
  • public Panel panels; - указывает панель, которой принадлежит объект;
  • public int num; - хранит номер панели, которому принадлежит объект;
  • public bool rotate; - хранит значения перевёрнуто ли изображение объекта.

Класс dominoClass содержит следующие методы и события:

  • public dominoClass(Form1 f1, ResourceManager resMan, string name) – конструктор используемый для создания объекта;
  • public void size(bool rotate, Point point, Panel panel) – метод, вызываемый при необходимости задания параметров PictureBox для объекта;
  • public void oneClick(object sender, EventArgs e) – обработчик события нажатие мышью по объекту, расположенного на игровых панелях игроков;
  • public void twoClick(object sender, EventArgs e) – обработчик события нажатия мышью по объекту, расположенного по правой стороне игрового поля;
  • public void threeClick(object sender, EventArgs e) - обработчик события нажатия мышью по объекту, расположенного по левой стороне игрового поля;
  • public int compare() – метод, вызываемый для сравнения значений костяшки;
  • public void pointPNT() – метод, вызываемый для определения необходимости менять положения объекта.

Также имеется по умолчанию созданный класс Form1, в котором находится основная реализация программного средства.

Класс Form1 содержит следующие поля:

  • dominoClass[] domino = new dominoClass[28]; - хранит массив объектов типа dominoClass;
  • public dominoClass buf; - используется в качестве буфера, для запоминания текущего объекта типа dominoClass;
  • public ArrayList arrayList1 = new ArrayList(); - список, содержащий перечень всех костяшек не участвующих на данный момент в процессе игры;
  • public ArrayList arrayList2 = new ArrayList(); - список, содержащий перечень всех костяшек принадлежащие первому игроку;
  • public ArrayList arrayList3 = new ArrayList(); - список, содержащий перечень всех костяшек принадлежащие второму игроку;
  • Random rand = new Random(); - объект для генерирования псевдослучайного числа;
  • public ResourceManager resMan; - объект которому будет указан файла-ресурс с изображениями костяшек;
  • public Point point1; - хранит значение координаты игрового поля (по правой стороне);
  • public Point point2; - хранит значение координаты игрового поля (по левой стороне);
  • public int value1; - хранит крайнее значение костяшки по левой стороне поля;
  • public int value2; - хранит крайнее значение костяшки по правой стороне поля;
  • public int hoD; - ведение счета ходов в игре;
  • public int igrok; - запоминает игрока, кому принадлежит ход в игре;

Класс Form1 содержит следующие методы и события:

  • public Form1() – конструктор, содержащий инициализацию компонентов и запуск игры;
  • public void startGame() – метод, который вызывается при старте новой игры;
  • public void cleaner(Panel panel) – метод, который удаляет все PicturBox объекты с выбранного поля;
  • public void start_game(Panel panel, ArrayList list) – метод добавления костяшек на определённую панель;
  • private void newSpisok(int n, ArrayList list, Panel panel, int pnl) – метод, вызывающийся для случайного заполнения списков игроков костяшками;
  • private void Exit_Game_Click(object sender, EventArgs e) – обработчик события выхода из игры;
  • private void About_Program_Click(object sender, EventArgs e) – обработчик события открытия окна О программе;
  • private void newGameStart_Click (object sender, EventArgs e) – метод завершающий текущую игру и запускающий новую;
  • private void button1_Click(object sender, EventArgs e) – обработчик события нажатия кнопки, для случайного получения игроком костяшки;
  • public void stop_ppl(ArrayList list) – метод, блокирующих ход игроку;
  • public void play_ppl(ArrayList list) – метод, разблокирующий ход игроку;
  • private void panel1_Click(object sender, EventArgs e) – обработчик события нажатия по игровому полю; 

2.3 Блок-схема алгоритма работы программы

Да

Нет

Появление выделенной области на игровом  поле

Игрок нажал на выделение

Сравнение значений костяшек

Значения совпадают?

Отмена хода

Перемещение костяшки на место выделения

Смена игроков

Да

Нет

Начало

Игрок выбирает костяшку

Блокировка хода второму игроку

Блокирование хода первому игроку

Значение костяшки первого игрока больше?

Поиск наибольшего значения костяшки у игрока

Случайное распределение костяшек между игроками по семь штук

Создание массива костяшек


 

Да

Нет

Да

Нет

Да

Нет

Сравнение значений костяшек у игрока с крайними значениями костяшек на игровом поле

Выбрана кнопка “Повторить”

Перенос костяшки на поле игрока

Выбирается случайная костяшка

Игрок обращается к резерву

Открытие доступа к резерву

Сброс всех значений

Конец

Игрок выбирает действие

Вывод сообщения о завершении игры

Значения совпадают?

Сравнение значений костяшек в резерве  с крайними значениями костяшек на игровом поле

 

Значения совпадают?


 

 

2.4 Описание функционирования программы

При запуске игры, вызывается метод startGame(). Этот метод создаёт объекты типа dominoClass и инициализирует их; вызывается метод newSpisok(), который выбирает случайные костяшки и добавляет их в список arrayList, созданного на каждого игрока отдельно; обнуляет некоторые значения, ведущие подсчеты во время игры; вызывается метод start_game(), в котором идёт перебор костяшек из списка игрока и выстраивает их на панели игрока; вызов метода stop_ppl(), который перебирает костяшки из списка игрока и снимает с них обработчики события; вызывается метод start_ppl(), в котором определяется какой игрок совершит ход первым и перебрав все костяшки из его списка, присвоит обработчики события; вызов метода verh_stop(), скрывающий с виду костяшки второго.

После этого всё готово к игре, и игрок выбирает необходимую  костяшку, вызвав при этом обработчик события oneClick(), который определяет где будет расположена костяшка и рисует выделенную область; снимает с костяшек игрока обработчик события нажатия костяшки; выделяет цветом выбранную костяшку; запускает таймер.

Информация о работе Создание электронного варианта игры Домино