Casino
Blackjack (Group 53)
User Interface
Version 1.0
User Interface
Casino Blackjack verison 1.01 can be broken down into four basic screens/interfaces:
- Initial login interface - (The first
screen the user sees)
- Create a new virtual player interface - (A
new user must create a virtual player before he can log in)
- Virtual casino environment interface - (Seen
by the user after he logs in successfully as a virtual player)
- Gameplay interface - (Allows a player
to play at a table. The user's gameplay options change dynamically)
A rough draft and explanation of these interfaces is shown below.
1.) Initial
login interface:

- This is the first screen the user sees.
- He/she can "login" (if they've already created
their own virtual player), or "create a new virtual player".
- The panel on the right hand side should be occupied with decorative graphics.

2.) Create
New Virtual Player interface:

- This screen is quite self explanatory.
- If a user enters and submits a player ID which already exists, or his password
does not meet length requirements (between five and ten characters), the appropriate
error message(s) will appear in red, just below the submit button. The user
can then try again.
- Otherwise - if the user successfully creates a new virtual player -
he is automatically loged into the virtual casino environment.

3.) Virtual
Casino interface:

- In version 1.01 there is really only one real option - "join
a table automatically".
- In later versions, it would be nice to give the player some choice as
to which table he joins.
- "Learn blackjack rules" will let the user view
the complete rules.
- Notice that three other button exists, but will be disabled.

4.1) Gameplay
interface - not user's turn - user just joined table:

- Once the server has assigned a virtual player to a table, the user sees
the gameplay screen.
- When this happens, if the round is already underway (and it probably
is), the user will have to sit out the first round - i.e. he will occupy
the box, but will have 0 hands and a bet of $0
- The user will see a panel of options at all times (see diagram), but at
any given time, most of the buttons will be disabled.
- When it is not the players turn he's only options are to "leave
table" or to chat.
- The Chat feature is used by typing into the text box in
the bottom panel - once the user hits enter, everyone at the table can see
your message.
- The right-hand side panel will show who's playing at your table and allow
you to send a particular player a private message (once you've selected their
name on the list).
- In later verisons, this panel may also show the
user players at other tables. Such a feat would be quite ambitious.
4.2) Gameplay interface - collect
bets phase:

- Every round, except when the user first joins the table, the user
must bet.
- His game options are:
- add money to his bet (by clicking the chip buttons)
- until his bet reaches the maximum bet, or his bankroll becomes $0.
- reset the bet back to the minimum bet (for that table).
- submit his bet
- Once the user has submit his bet these options disappear. If the timer runs
out first, whatever bet he has showing will be submitted automatically.
- Since the interface only lets the user enter a bet between the min &
max bets for that table, a user must play every round.
- If he/she needs a toilet break etc. he should leave the table - or risk
losing money.
- The collect bets phase lasts 10 seconds; until the timer hits 0.
- In later version, the server should allow the
game to start sooner if all players have bet. Waiting 10 each round for
betting would be particularly annoying if you were the only player at
the table.
4.3) Gameplay interface - user's
turn:

- When it's the user's turn, he is presented with a set of options. Depending
on the values of his cards and the dealer's cards, these options may include
a combination of:
- hit,
- stay,
- split,
- double,
- insurance.
- In the example above the player can either "hit"
or "stay".
- All other options (i.e. buttons) will be disabled and
made invisible.
- The user will keep taking turns until he decides to stay (on his last hand),
or goes bust (on his last hand).
- Note that, if a player splits, he will have two hands, and plays one
hand after the other.
- If the user fails to make a decision before a timer runs out (and is therefore
delaying the game for other players), the server will make him stay, and then
move onto the next player.
- The countdown timer will be shown to the user whenever it his turn to
move (or bet).

--4.4) Illustration of JPanel Layout:

- This image illustrates the use of JPanels in the JFrame.
- The game panel will be further divided into JPanels for the shoe, players
etc.
- This master frame should be designed as 800x600 pixels in size
(to suit the lowest screen resolution).
- A small seperate window should be used for any popup messages.
