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:

1. Initial login interface - (The first screen the user sees)
2. Create a new virtual player interface - (A new user must create a virtual player before he can log in)
3. Virtual casino environment interface - (Seen by the user after he logs in successfully as a virtual player)
4. 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
- 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. Alternatively; when the timer runs out (shown as countdown), whatever bet he has 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.
- In version 1.01, 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 is particularly annoying if you're 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.
  - In version 1.01, this timer will be invisible to the user.

--4.4) Illustration of JPanel Layout:

- This image illustrates the use of three seperate JPanels in the single JFrame.
- The whole application - all the major interfaces (intial login screen, virtual casino screen etc.) - should all appear within the same same window (JFrame) and be comprised of three panels in this same configuration.
  - 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.