Top Banner
JokerStars: Online Card Playing William Sanville Milestone 4
22
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JokerStars: Online Card Playing William Sanville Milestone 4.

JokerStars: Online Card Playing

William SanvilleMilestone 4

Page 2: JokerStars: Online Card Playing William Sanville Milestone 4.

Background

Online card system specializing in Texas Hold'em poker

Similar to popular systems such as PokerStars, Full Tilt Poker

Client-Server model

Page 3: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 4: JokerStars: Online Card Playing William Sanville Milestone 4.

Module Dependencies

Page 5: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 6: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 7: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 8: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 9: JokerStars: Online Card Playing William Sanville Milestone 4.

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)

Page 10: JokerStars: Online Card Playing William Sanville Milestone 4.

Phase One Continued

Client and Server must communicate over the Internet Not just LAN, on and off campus Firewalls must be set properly

Page 11: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 12: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 13: JokerStars: Online Card Playing William Sanville Milestone 4.

Phase Two Continued

User Interface and Game Engine must abide by the following contract:

Page 14: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 15: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 16: JokerStars: Online Card Playing William Sanville Milestone 4.

JokerStars Control Panel

Page 17: JokerStars: Online Card Playing William Sanville Milestone 4.

JokerStars Lobby

Entry point for the end user

Page 18: JokerStars: Online Card Playing William Sanville Milestone 4.

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

Page 19: JokerStars: Online Card Playing William Sanville Milestone 4.

JokerStars Game Table

Page 20: JokerStars: Online Card Playing William Sanville Milestone 4.

JokerStars Game Table

Page 21: JokerStars: Online Card Playing William Sanville Milestone 4.

JokerStars Game Table

Page 22: JokerStars: Online Card Playing William Sanville Milestone 4.

Questions?