The final project challenges you to incorporate as many Java topics covered throughout the school year (CS 21a and CS 21b). You may work individually or you may work with a partner. The task is to design and implement a game.
Except for Bricks, Pong, and Memory (the one where you flip cards to see if they match), the game may be based on existing games such as board games, card games, or other graphic multiplayer games, but they cannot be copies of the same game. They must somehow be modified.
Create classes named GameServer and Player. These classes will contain the main method for the game server and each player respectively. You may decide what to name your other classes, but make sure that the class names are descriptive of what they are for/what they do.
The program must contain (but not be limited to) the following:
graphical user interface
inheritance and inner classes
animation using Threads or Timers
networking to send and receive game data
For the networking requirement:
The game must accommodate at least two (2) human players who will play against, or in cooperation with, each other. The game must run on two (2) separate machines: one server player and one client player. Alternatively, the game may run on three (3) or more separate machines: one server and n-1 client players (with n being the number of machines).
NOTE: You may add a chat system, but that will not be considered as a fulfillment of the networking requirement. Examples of what will be considered are: sending and receiving player coordinates, generating enemies/obstacles via information sent by the server, etc...
**you may or may not use the file/ code below