The Boondock Saints
No Limit Texas Hold'em
Group Members:
Scott Semonian
Matt Brinza
John O'Keefe
Hamid Tahsildoost
Index | Class | Document | Library | Source | Temp | Test | Tools | Use Cases
How to run our program:
*Rather than using 'build' and 'run' targets to create and run class files, our build.xml file allows the user to simply double click on one of the two .jar files that are created after typing 'ant' at the prompt in the project directory. (server.jar to run the server, holdem.jar to run the client).
1.) Unpackage the jar file in any location.
2.) The default IP address that both the server and client will try to connect to is 'localhost' (typically 127.0.0.1).
If this is the IP address from where you will be running the server, go to 'Local Run', if not:
Remote Server:
3.) Edit the 'gui.java' file in the ./source/boondock/holdem/gui/ directory such that the call to the connection in the main function goes to your desired IP address as opposed to 'localhost'.
4.) Rebuild the application by typing ant at the prompt when your current working directory is the root directory of the project (i.e. parallel to the build.xml file, one level above the 'source' directory).
5.) Copy the server.jar file to the computer who's IP address is the address you specified in constants.java.
6.) Run the server.jar file there by double-clicking on it (or type 'java -jar server.jar')
7.) Now you can run the holdem.jar file from any number of computers and connect to your IP address.
BEWARE: LAN IP addresses are different than WWW IP addresses. You cannot access 192.168.0.1 (LAN address) from a computer not in the same LAN as yourself!
8.) As many people as you want can do step 4, up to the max connection of eight people on eight different machines!
Local Server:
3.) At the root of the location of the unpackaging there should be 2 .jar files. One is holdem.jar, the other is server.jar.
4.) First an instance of the server must be running somewhere, and the IP address of the server must be specified inthe constants.java class. (if you change this, remember to recompile the project by typing 'ant' at the shell prompt in that directory).
5.) Once the server is running, connect to its IP address by double-clicking the holdem.jar file (it also uses the constants.java file to determine the IP address of the server).
6.) As many people as you want can do step 4, up to the max connection of eight people on eight different machines!
See our Use Cases here!
See our buid.xml file!
Downloads:
Our big jar file boondockholdem.jar
Our holdem.jar file
Our server.jar file
Release History:
Release 1:
This is the first version of the No Limit Texas Holdem game by The Boondock Saints.
The program currently works as a chat program between any clients that connect to a server.
It also runs one dealing of cards and one round of betting. However this round never finishes and doesn't add up some of the values correctly yet.
Once the bugs are fixed, the rounds can easily progress and the game will be complete. And speaking of bugs...
Known Issues:
- Currently several test classes (under test directory) are used with JUnit to help us track down bugs. Additionally we print out information to the command-screen and to the message box. This information is for ourselves and the users to see what is going on in the background. We were trying to ensure that activity on the screen matched activity in the background. This will be removed before the next iteration as it wont be necessary any longer.
- The connections/sockets are threaded and a few errors associated with this have yet to be fixed (see below):
- Thread Error 1 : User's connect to the game, however the GUI never opens or takes a long time to open. However the user is a part of the game and can be dealt cards, etc. *This error has not been isolated yet, a couple possible culprits are being investigated.
- Thread Error 2 : A user makes a move and an exception is thrown due to another thread. The action is actually recorded, however some or most users dont see the result until the next time a move is made (i.e. the next time the function that sends out 'updated data' is called). *This error has been isolated but not fixed.
Future Plans:
Full game, players play each other over the network.
AI (as many as you like, with max 8 players) can play the game.
Sound (possibly?) for sound effects (intro music?)
Credits:
To help us out with some of the server/client code, we relied on a great example from the book Java: How to Program.
The DeitelMessengerExample taught us everything we know about how sockets and packets work. Mucho thanks!
CSS File cortesy Mr. Cappello
We are The Boondock Saints