Java Gomoku Game

1. Basic Features

You are expected to implement a gomoku game in Java. The name "gomoku" is from the Japanese language, in which it is referred to as "gomokunarabe": "go" means five, "moku" is a counter word for pieces and "narabe" means line-up. The game should support the following features:

2. Advanced Features

Note that you can earn 90% of the scores finishing all three projects with the only basic features. That is to say, to get a higher score, you may want to consider adding some advanced features: (Please pick some features from the followings. The corresponding bonus scores will be added to your final score, and the upper bound of your final score is 100 pts. That's to say, you can get at most 100 pts by picking two 5 pts features or one 10 pts feature.)

3. Submission

Submission should be made at the blackboard system. You need to submit: