The following is a list of potential programming exercises that you can do to update, modify, or improve the Player or Game programs.
- Completely rewrite the Player application to have a customized user interface and customized features to do what you want it to do.
- Write a GUI that allows a Player to create their own BINGO cards. You will have to modify the Game so that it simply signs the card when the Player joins a game (instead of creating it).
- Allow a Player to remember cards they like and reuse them.
- Set up a message center that lets Players send messages to each other through the Game.
- Implement a "boss" button so that the Player turns into a spreadsheet or word processing program when the boss shows up at your computer.
- Provide the Game with the ability to select a different "BagOfBalls" to generate the announced balls.
- Use the new sound APIs to announce the balls with a voice.
- Convert the Player application into an applet. Applets cannot use MulticastSockets so you would have to figure out a way to get around that. One option is to write a companion application that listened to the MulticastSocket and passed the information to the applet. [PENDING: check next statement] A second option is to use a DatagramSocket in the applet to listen. However, DatagramSocket's don't have groups so the applet would have to listen to everything that comes across the socket and glean just the information that it needed.
- Write a third score keeper application that listens to the game and keeps track of who won each game, the number of games won by each player, the average number of balls announced before someone one, and so on.
- Automate the Player so that a human user doesn't have to be involved. This involves checking each card for a BINGO after every announced ball.
- If you write anything truly spectacular and want to share it, send it to us: firstname.lastname@example.org