Блэк Джек. Основания для разработки. Требование к программе или программному изделию. Руководство пользователя

Страницы работы

Фрагмент текста работы

Санкт-Петербургский Государственный Политехнический Университет

Факультет Технической Кибернетики

Кафедра Автоматики и Вычислительной Техника

КУРСОВОЙ  ПРОЕКТ

Дисциплина: Теория и технология программирования

Тема: Блэк Джек

Выполнил студент гр. 2081/1                           

Преподаватель                                                   

"__ "_______ 2009 г.

Санкт-Петербург 2009

Оглавление

1.Введение................................................................................................ 3

2.Основания для разработки................................................................ 3

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

4.Требование к программе или программному изделию................. 3

4.1.Требование к функциональным характеристикам......................... 3

4.1.Требование к надежности............................................................... 3

4.1.Условия эксплуатации..................................................................... 3

4.1.Требование к программной совместимости................................... 3

4.1.Специальные требования................................................................ 4

5.Руководство пользователя................................................................. 5

7.Описание программы......................................................................... 5

7.1.Диаграмма классов.......................................................................... 5

7.2.Взаимодействие основных классов друг с другом........................ 6

7.3.JAVA-документация........................................................................ 7

7.3.1. Пакет cards.pack....................................................................... 7

7.3.1.1.Класс Card.......................................................................... 7

7.3.1.2.Класс Face........................................................................... 8

7.3.1.3.Класс Suit.......................................................................... 10

7.3.1.4.Класс Faces....................................................................... 11

7.3.1.5.Класс Suits........................................................................ 12

7.3.1.6.Класс Pack........................................................................ 13

7.3.2.Пакет cards.Hand..................................................................... 15

7.3.2.1.Класс BlackJackHand........................................................ 15

7.3.2.2.Class Hand......................................................................... 17

7.3.3.Пакет cards.blackjack............................................................... 19

7.3.3.1.Класс Diler........................................................................ 20

7.3.3.2.Класс Player...................................................................... 21

7.3.3.3.Класс Session.................................................................... 23

7.3.3.4.Класс Result...................................................................... 25

7.3.3.5.Класс Game....................................................................... 27

7.3.4.Пакет cards.GUI....................................................................... 28

7.3.4.1.Класс GUICard................................................................. 29

7.3.4.2.Класс GUIHand................................................................. 30

7.3.4.3.Класс GUIPack................................................................. 32

7.3.4.4.Класс ManagerResources.................................................. 33

7.3.4.5.Класс GUISession............................................................. 34

7.3.4.6.Класс GUIBlackJack......................................................... 36

7.3.5.Пакет cards.............................................................................. 38

7.3.5.1.Класс Main........................................................................ 38

7.3.5.2.Класс MainFrame.............................................................. 39

7.3.5.3.Класс Money..................................................................... 40

8.Испытания программы.................................................................... 43

8.Заключение......................................................................................... 47

1.Введение

Данный курсовой проект включает в себя реализацию карточной игры “Блэк Джек” с графическим интерфейсом с помощью языка программирования JAVA.

2. Основания для разработки

По предмету «Теория и технологии программирования» необходимо было выбрать курсовой проект. Тема свободная. После выполнения проекта «Судоку», был выбран проект – карточная игра «Блэк Джек».

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

Основными задачами программы Блэк Джек является реализация основных правил, выбранных на усмотрение разработчика, карточной игры Блэк Джек.

4. Требования к программе или программному изделию

4.1. Требования к функциональным характеристикам

К программе Блэк Джек предъявляются следующие требования:

1) Графический интерфейс в среде джава;

2) Работа программы рассчитана на 1 игрока;

3) Функциональность классов.

4.2. Требования к надёжности

Программа должна обеспечивать корректное выполнение правил карточной игры Блэк Джек в рамках настоящего проекта.

4.3. Условия эксплуатации

Программа рассчитана на работу с одним пользователем.

4.4. Требования к программной совместимости

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

4.5. Специальные требования

Специальные требования к программе Блэк Джэк не предъявляются.

5. Руководство пользователя

Для того, чтобы начать партию, требуется нажать кнопку “Новая игра” на основной панели.      Далее игрок делает ставку против дилера(требуется указать нужную сумму в левом нижнем окошке панели программы). Ошибочно считается, что цель заключается в том, чтобы набрать как можно больше очков, но не более 21. На самом деле цель игры - обыграть дилера. Значения очков каждой карты: от двойки до десятки — соответственно от 2 до 10, у туза — 1 или 11 (в пользу игрока), у т. н. картинок (король, дама, валет) — 10. После того, как первая карта сдана, игрокам запрещается делать ставки. Дилер раздаёт карты: по две карты каждому игроку, себе раздаёт одну карту. Если у игрока сразу после раздачи набралось 21 очко (то есть у игрока туз и 10 или туз и картинка), то такая ситуация и называется блэк джек(в данной программе это событие будет называться выйгрышем). В таком случае игроку сразу выплачивается выигрыш 3 к 2 (то есть в 1,5 раза превышающий его ставку). Если же у игрока не блэк джек, предлагается на выбор либо взять ещё карту(кнопка “Еще карту” на панели), либо остаться при тех картах (и той сумме очков), которые у него на руке(кнопка “Закончить”). Если у игрока после взятия новой карты сумма очков превысит 21, то такая ситуация называется «перебор»(т.е. последует событие проигрыша).  Если у дилера в первых двух картах набирается 21 очко (блэкджек), то игрок (в случае,если у него нет блэк джека), проигрывает. В противном случае игрок и дилер остаются при своих ставках, если они ранее не выбрали взять выигрыш 1 к 1. После того, как игрок завершил брать карты, дилер раздаёт карты себе. Общее правило блек джека состоит в том, что дилер обязан остановиться, как только наберёт 17 очков или выше, и брать, пока не достигнет (даже если у всех неперебравших меньше очков). Так же можно увеличить ставку вдвое при условии, что игрокум будет взята еще одна карта (кнопка “Вдвое” на панели).

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

7.1.Диаграмма классов:

Диаг.1

7.2. Взаимодействие основных классов друг с другом:

Все классы данной программы взаимодействуют друг с другом, опираясь на основные концепции объектно-ориентированного программирования (агрегирование, наследование). К основным классам программы можно отнести следующие классы:

§  MainFrame – главный фрейм, в котором размещаются все графические компоненты;

§  Game – класс, хранящий информацию об игроке, позволяет начинать новую партию.

§  Session – класс, хранящий правила игры и игровую механику.

§  Pack – класс, в котором хранятся все карты. Колода.

§  Hand – класс, в котором содержится информация о картах в руке игрока

Похожие материалы

Информация о работе