JokerStars: Online Card Playing

1 / 22
About This Presentation
Title:

JokerStars: Online Card Playing

Description:

Online card system specializing ... Deck must not contain any duplicate cards. Collections module. Verify the behavior of custom data structures. Events module ... –

Number of Views:51
Avg rating:3.0/5.0
Slides: 23
Provided by: williams47
Category:

less

Transcript and Presenter's Notes

Title: JokerStars: Online Card Playing


1
JokerStars Online Card Playing
  • William Sanville
  • Milestone 4

2
Background
  • Online card system specializing in Texas Hold'em
    poker
  • Similar to popular systems such as PokerStars,
    Full Tilt Poker
  • Client-Server model

3
Scope Revision
  • Original Plan One table of No Limit Hold'em with
    one to nine players
  • Revised Plan Many tables of No Limit Hold'em
    with one to six players
  • System should be flexible enough to support many
    tables concurrently
  • Implementing just a single table would be a waste

4
Module Dependencies
5
Integration Testing
  • Entry Criteria Modules must pass unit testing
  • Many of the modules are simple class definitions
    with no interaction with other modules
  • Examples
  • Events module
  • SQL module
  • Game Entities module
  • Bottom-up approach

6
Unit Testing
  • SQL module
  • Execute stored procedures, verify that the
    expected results occur
  • Example
  • Connect to the database server. Record the chip
    count for user1
  • Call the IncreaseChipCount method defined in the
    SQL module with parameters user1 and 100
  • Verify that the user's chip count has increased
    by 100
  • Call the DecreaseChipCount method defined in the
    SQL module with parameters user1 and 100
  • Verify that the user's chip count has returned to
    the original value

7
Unit Testing Continued
  • Game Entities module
  • Deck must be able to shuffle itself
  • Pseudorandom number generator is OK for this
    project
  • Deck must not contain any duplicate cards
  • Collections module
  • Verify the behavior of custom data structures
  • Events module
  • Only class definitions with sets and gets
  • Side affect of how C language is structured

8
Integration Testing Two Phases
  • Integration testing can be broken into two main
    phases
  • Phase One Perform integration testing on Client,
    Server, and Networking modules
  • This is the foundation for the JokerStars system
  • Phase Two Perform integration testing on the
    remaining modules
  • Game Engine, User Interface, Game Entities

9
Phase One Client, Server, Net
  • Common functionality of Client and Server is
    implemented in the Networking module
  • Packet, buffers, serialization
  • Client and Server modules pass and receive
    messages in the same way as defined in the
    Networking module
  • Client and Server must agree on the format of
    packets for successful integration
  • Packet consists of a type (enumeration), a table
    id, and a payload (any object)?

10
Phase One Continued
  • Client and Server must communicate over the
    Internet
  • Not just LAN, on and off campus
  • Firewalls must be set properly

11
Test Plan
  • Equipment Dedicated machine, two clients
  • Procedure
  • Start the Server module on the dedicated machine
  • Connect from the first client machine. Verify
    that the server accepts the connection
  • Connect from the second client machine. Verify
    that the server has acknowledged that a different
    user has connected
  • From server, send a different message to each
    client. Verify that the message was received
  • Send a message from each client to the server.
    The server should display which user sent which
    message
  • Disconnect the clients. Verify that the server
    recognizes that each client has disconnected

12
Phase Two Game Engine, UI
  • Most complex part of the JokerStars project
  • User Interface and Game Engine utilize the Client
    and Server modules to pass messages
  • UI and Engine must agree upon every piece of data
    that is sent
  • If the Engine sends a string in a packet, and the
    Interface expects a bool, runtime error will occur

13
Phase Two Continued
  • User Interface and Game Engine must abide by the
    following contract

14
Phase Two Continued
  • Testing the Game Engine and User Interface
    thoroughly requires the entire system to be
    operational
  • Therefore, the Game Engine and User Interface are
    a better candidate for system testing

15
Exit Criteria
  • The JokerStars system will be ready for System
    Testing upon verification of
  • Ability to transport complex objects over the
    Internet
  • Modules that do not interact with each other must
    pass unit testing
  • SQL module, Game Entities module
  • Game Engine must allow system operator to add a
    virtual card table at run time
  • Game Engine must broadcast the list of card
    tables to the clients
  • User Interface must allow end user to select
    which table(s) to play on

16
JokerStars Control Panel
17
JokerStars Lobby
  • Entry point for the end user

18
JokerStars Lobby
  • Control Panel and Lobby maintain the connection
  • Control Panel and Lobby route packets to the
    correct card table for processing
  • Ex A player on Table 1 places a bet
  • Message is sent from the Lobby to the Control
    Panel, which will pass the message to the correct
    instance of the game table for processing

19
JokerStars Game Table
20
JokerStars Game Table
21
JokerStars Game Table
22
Questions?
Write a Comment
User Comments (0)
About PowerShow.com