Back to JaMB Home

 

JaMB

 

Requirement

Specification

Document

 

 

 

September 24th 2003
 

Table Of Contents

 

 

 I.   Requirement Specification Document

 A.                                                            Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1

 i.    Goals  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.a

 ii.  JaMB Team Members  . . . . . . . . . . . . . . . . . . 1.1.b

 B.                    Non-functional Requirements . . . . . . . . . . . . . . . 1.2

 C.                   Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3

 D.                   Functional Description  . . . . . . . . . . . . . . . . . . . . 1.4

 i.    Activity Specification . . . . . . . . . . . . . . . . . . . . 1.4.a

 ii.  Data Flow Diagram  . . . . . . . . . . . . . . . . . . . . . 1.4.b

 iii.          Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . 1.4.c

 E.                    Sign Off Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5

 F.                     Error Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6
1.1 Introduction

 

 

1.1.a Goals of Java Mille Bornes (JaMB)

 

        The goal of this project is to develop a graphical implementation of the classical “Mille Bornes” card game. The project will run on all operating systems that support Sun's Java programming language. The game play will follow the Parker Brother's rule system for the game and will be handled by the system.

 

Features provided by this system includes:

 

·        A menu and a game play zone.

 

·        A graphical display of each card as played

 

·        Display of the card piles, card play zones, and players hand

 

·        Ability to reset game scoring

 

·        Game and round point totaling

 

Future features may include support for different languages and the ability to select the difficulty level of the A.I.

 

 

 

 

1.1.b JaMB Team Members

 

 

                    Courtney Arnold                      Mable Flickinger

 

                Brandon Toone                       Susan Glaus

     

     

 


1.2 Non-Functional Requirements

 

 I.    User Interface Considerations

 

 A.                     The novice players will be able to learn the system within a half hour of use.

 

 II.  Hardware Considerations

 

 A.                     The system will be designed to run on any computer system that fully supports JavaSE 1.4.2

 

 III.     Performance

 

 A.                     JaMB will respond to the users plays within 5 seconds.

 

 

 


1.3 Feasibility

 

        JaMB is feasible with the given goals and requirements specified in this document. This system can be developed by the sponsors deadline of December 11th 2003, and delivered to the sponsor with design documentation. The development of JaMB will cost the sponsor an acceptable passing grade* and will fit within the sponsors financial obligation of $0.00.

 

*an acceptable passing grade is defined as a letter grade in accordance with the professors grading scale within the A to B+ range.

 


1.4 Functional Description

 

1.4.a Activity Specification

 

        Activity: Interact With User

        Activity ID: A.1

 

Version 1.0                                                                                                9/24/2003

 

This is the first activity that is performed by JaMB. The user will interact with the user interface to select whether a new game will be started or not.

 

 

        Activity: New Game

        Activity ID: A.2

 

Version 1.0                                                                                                9/24/2003

 

This activity will run all of the necessary actions in order to begin a new game.

 

 

        Activity: Play Game

        Activity ID: A.3

 

Version 1.0                                                                                                9/24/2003

 

This activity will run all the necessary actions for the user to play Mille Bornes.

 

 

        Activity: End Game

        Activity ID: A.4

 

Version 1.0                                                                                                9/24/2003

 

This activity will display the final score for the game and give the user the opportunity to start a new game.

 

 

        Activity: Shuffle Deck

        Activity ID: A.2.a

 

Version 1.0                                                                                                9/24/2003

 

This activity will shuffle the deck of cards randomly into one of the 101 spots availabe in the shuffled deck.

 

 

        Activity: Deal Hands

        Activity ID: A.2.b

 

Version 1.0                                                                                                9/24/2003

 

This activity will deal out 5 cards to each player (i.e. User and computer A.I.).

 

 

        Activity: Draw Card

        Activity ID: A.3.a

 

Version 1.0                                                                                                9/24/2003

 

This activity is the action of taking a card from the draw pile and applying it to the players hand.

 

 

        Activity: Discard

        Activity ID: A.3.b

 

Version 1.0                                                                                                9/24/2003

 

This activity is the action of discarding a card of the players choosing. This action may be mandatory if the player does not have any cards that can be normally placed.

 

 

 

 

 

 

 

 

        Activity: Place

        Activity ID: A.3.c

 

Version 1.0                                                                                                9/24/2003

 

This activity is the action of playing a card on either the speed pile, battle pile, safety zone, or the distance piles. If a safety is played in this action, the player is given another turn. The playing area is updated when this action happens.

 

 

        Activity: Turn Finishes

        Activity ID: A.3.d

 

Version 1.0                                                                                                9/24/2003

 

This activity is the action of turning over the control of the game to the opponent to take a turn. The playing area is updated when this action happens.

 

 

        Activity: Opponents Turn Finishes

        Activity ID: A.3.e

 

Version 1.0                                                                                                9/24/2003

 

This activity is the action of turning over the control of the game to the player to take a turn. The playing area is updated when this action happens.

 

 

        Activity: Update Distance

        Activity ID: A.3.f

 

Version 1.0                                                                                                9/24/2003

 

This activity is when the distance traveled of the players are updated.

 

 

 

 

 

 

 

        Activity: Opponents Turn

        Activity ID: A.3.g

 

Version 1.0                                                                                                9/24/2003

 

This is the activity where the computer A.I. is afforded the opportunity to take its turn.

 

 

 

        Activity: Opponent Plays Safety

        Activity ID: A.3.h

 

Version 1.0                                                                                                9/24/2003

 

This is the activity where the computer A.I. Is given another turn. This only occurs after the computer A.I. Has placed a safety card.

 

 

        Activity: Trip Completed

        Activity ID: A.4.a

 

Version 1.0                                                                                                9/24/2003

 

This activity is triggered when the total miles required to get to the finish have been met by either the player or the computer A.I. This activity also passes along a number of points equal to the miles completed by both the player and the computer A.I.

 

 

        Activity: No Moves Possible

        Activity ID: A.4.b

 

Version 1.0                                                                                                9/24/2003

 

This activity is triggered when there are no more cards that can be drawn and when there are no more cards that can be placed by the user and the computer A.I.

 

 

 

 

        Activity: Calculate Score

        Activity ID: A.4.c

 

Version 1.0                                                                                                9/24/2003

 

This activity calculates the total score accumulated during game play. The total score will consist of the miles traveled and any bonuses.

 

 

        Activity: Display Score

        Activity ID: A.4.d

 

Version 1.0                                                                                                9/24/2003

 

This activity will paint the score card to the screen for the player to see.

 

 

        Activity: Clear Playing Area

        Activity ID: A.4.e

 

Version 1.0                                                                                                9/24/2003

 

This activity will clear the playing area of any cards that had been placed in the prior round.

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.4.b Data Flow Diagrams

 

 












1.4.c Data Dictionary

 

 

Bonuses

·        Complete Trip of 700 Miles Bonus:  Bonus of 400 points when winner completes a trip of 700 miles.

o       = 400

·        Coupe Fourre Bonus:  Bonus of 300 points given to a player when a safety is played after a hazard card was placed.

o       = 300

·        Delayed Action Bonus:  Bonus of 300 points given to possessor if trip is completed and no more cards exist in the Draw Pile.

o       = 300

·        Extension Bonus: Bonus of 200 points to whichever player completes the extended length of 1,000 miles.

o       = 200

·        Safe Trip Bonus: Bonus of 300 points if winner completes a trip without playing any 200 mile card.

o       = 300

·        Shutting Out Bonus:  Bonus of 500 points after a completion of a 1000 mile trip and before opponent is able to play any Distance Card.

o       = 500

General

·        Battle Pile: Area where Hazard Cards and Remedy Cards are played.

o       = {0{Hazard Cards}18 | 0{Remedy Cards}38} |

{0{Hazard Cards}18 +0{Remedy Cards}38}

·        Digit:  A number value.

o       = {0|1|2|3|4|5|6|7|8|9}

·        Discard Pile: Area for cards already played.

o         = 0{Card}101

·        Draw Pile: Area containing all cards from which each player takes one per draw.

o         = 0{Card}101

·        Hand Pile: Cards in the player’s control.  No more than 5.

o         = 0{Card}5

·        Mile:  A unit of length between point A and point B, options are 25, 50, 75, 100,           200.

o       = {25|50|75|100|200}

·        Speed Pile: 2 piles (one for each player) where Speed Limit Cards and End of Limit Cards are placed.

o       =  {0{Speed Limit Card}4 | 0{End of Limit Card}6 } |

{0{Speed Limit Card}4 + 0{End of Limit Card}6 }

·        Trip: Distance traveled.

o         = 0{Digit}4

·         Completed Trip:  The definition of a complete trip is 700 miles or 1000 miles if an extension was called.

o       = {700 | 1000}

 

Distance

·        Distance Pile: Area to keep track of distance traveled. One per player (user/opponent).

o         = 0{Distance Cards}46

·        Distance Card: 46 cards representing a distance in miles.

o       = Card

Hazards

·        Hazard Card: 13 cards representing a road hazard occurred.  Used against opponent.

o       = Card

·        Accident Card: 2 Hazard Cards representing player incurred an accident.

o       = Card

·        Flat Tire Card: 2 Hazard Cards representing that the receiver has a flat tire and cannot continue to place Distance Cards.

o       = Card

·        Out of Gas Card: 2 Hazard Cards representing that the receiver is out of gas and cannot move until remedied.

o       = Card

·        Speed Limit Card:  3 Hazard Cards used to keep opponent from using a Distance Card greater than 50.

o       = Card

·        Stop Card: 4 Hazard Cards forcing to receiver to stop playing Distance Cards.

o       = Card

Remedies

·        Remedy Card: 38 cards used to recover from a Hazard Card played against possessor.

o       = Card

·        End of Limit Card:  6 Remedy Cards representing an end to a speed limit set by opponent.

o       = Card

·        Gasoline Card: 6 Remedy Cards representing possessor has gas.

o       = Card

·        Repair Card: 6 Remedy Cards used to counter an Accident Card.

o       = Card

·        Roll Card (Go): 14 Remedy Cards representing possessor can continue or begin laying down Distance Cards.

o       = Card

·        Spare Tire Card: 6 Remedy Cards used to remedy a Flat Tire Card previously played against possessor.

o       = Card

Safeties

·        Safety Area: Area where Safety Cards are played.

o         = 0{Safety Card}4

·        Safety Card: 4 cards used for prevention of future hazards.

o       = Card

·        Driving Ace: 1 Safety Card preventing a future Accident Card for the possessor.

o       = Card

·        Extra Tank Card: 1 Safety Card preventing a future Out of Gas Hazard for the possessor.

o       = Card

·        Puncture Proof Card:  1 Safety Card preventing a future Flat Tire Hazard for the possessor.

o       = Card

·        Right of Way Card:  1 Safety Card used to prevent future Speed Limit Cards being played against possessor.

o       = Card

 


1.5 Sign Off Sheet

 

      The sponsor hereby agrees that the requirements set apart in this document satisfy the needs of the project. The sponsor understands that JAMB will be developed per the these requirements by the JAMB team and that any changes to this specification must be approved by the sponsor and the development team. It is also understood that implementing change to the specification could have a negitive effect on the schedule, payment, and stability of the project.

 

       

 

                                _____________________           _____________

                                           Sponsor                                  Date
1.6 Error Log

 

 

DATE:

 

CHANGE MADE:

CHANGE

MADE BY:

11/15/03

Requirement Specification Document in section 1.6

Added error log

Susan Glaus

11/15/03

Preliminary Design Document in section 2.1

Modified Display Structure Chart

Changed the following:

File to Select Action

New Game to Start New Game

Help to Provide Help

Instructions to Display Instructions

About to Display Game Info

Susan Glaus

11/15/03

Preliminary Design Document in section 2.1

Modified Deal Cards Structure Chart

Changed the following:

P1 Card to Place P1 Card

P2 Card to Place P2 Card

Susan Glaus

11/15/03

Preliminary Design Document in section 2.1

Modified Turn Structure Chart

Changed the following:

Play to Start Play

Hazard to Play Hazard Card

Battle to Play Battle Card

Safety to Play Safety Card

Distance to Play Distance Card

Susan Glaus

11/16/03

Preliminary Design Document in section 2.3

Modified gameBoard Module Design

Changed External Refernces: 

Receives input from the mouse and possibly the keyboard to None

Susan Glaus

11/16/03

Preliminary Design Document in section 2.3

Modified Module Design module id 2.1.4 title from HighScore to View Score to match the structure chart title

Susan Glaus

11/16/03

Preliminary Design Document in section 2.3

Added Turn Module Design, module id 2.1.2.4.  This module was in the structure chart but not in the module design section.

Susan Glaus


 

DATE:

 

CHANGE MADE:

CHANGE

MADE BY:

11/16/03

Preliminary Design Document in section 2.3

Modified Shuffle Deck Module Design Method. The method previously stated that the deck would be shuffled using a randomizer and a ‘generate-swap’ sequence.  The method now states that the shuffle method of the java.util collections class will be used to shuffle the deck.

Susan Glaus

11/14/03

Requirement Specification Document in section 1.2

Removed non-testable non-functional Req's from User Interface Considerations section.

Courtney Arnold

11/14/03

Requirement Specification Document in section 1.2

Removed the Error Handling section from the non-functional Req's

Courtney Arnold

11/14/03

Requirement Specification Document in section 1.2

Removed the System Modifications section of the non-functional Req's and added it to the Introduction

Courtney Arnold

12/04/03

Preliminary Design Document in sections 2.1 and 2.3

Changed  module title “Player1 Cards" to "Deal 1 Card (User)" and "Player 2 Cards" to "Deal 1 Card
(Opponent)"

Brandon Toone

12/04/03

Detailed Design Document in sections 4.1 and 4.3

Changed  module title “Player1 Cards" to "Deal 1 Card (User)" and "Player 2 Cards" to "Deal 1 Card
(Opponent)"

Brandon Toone

12/04/03

Detailed Design Document in section 4.1

Changed Distance200 case statement in the psuedo code for the module “Check if Move is Valid” to be the Distance case statement and to handle the check for the valid placement of all distance cards

Courtney Arnold

 

 

 

 

 

 

 

 

 

 

 

 

 

Section 2 Preliminary Design Document
Back to JaMB Home