Good games to implement include Bagels (see description at the bottom of this document for details), 3D Tic-Tac-Toe, Cribbage, Dots and Boxes, Battleship, Go Fish, ...
Let me know if you have questions about the rules or suitability of a particular game. I recommend that you send an email or talk to me about your choice of project to make sure that you haven't picked something too easy or too hard. In the past, the biggest trap that students have falled into this assignment is picking something too complex and not having the time to finish it. Consult with me.
Your project should incorporate some level of computer intelligence.
In some sense, the computer should play against you or manage
your game in some kind of intelligent way. You don't need to get the
computer to be a world class player at your game, or even close, as
that's what our Artificial Intelligence class is for... but I'd
like to see some kind of effort here.
When your program is complete, it should be able to be run outside
of BlueJ by typing "java classsname"
inside a Linux terminal window. Make sure to indicate in program
documentation which class contains your main method.
To reiterate: It is most important to submit something that
works. Set modest goals and achieve them first, then enhance your
program later. Only work on getting computer intelligence working after
you have the basic game working with human player(s).
On academic dishonesty: You must submit a program that you write yourself. You may obtain help from other students in getting ideas and in debugging your code, but you must write your own program. You may not use Java code for your game from the Internet or from other sources.
The Guesser makes a 3-digit guess. The Responder compares the guess to the actual mystery number, and responds to the guess by some combination of the words "Pico," "Fermi," and "Bagels." The Guesser keeps guessing until the guess is the mystery number. Here are the response rules:
246 BNote that if there are Picos and Fermis in the same response, all the Picos should be reported first. That is, you'd never say "PFP," thus suggesting that maybe the middle digit of the guess was the one in the correct position. Instead, you'd say "PPF," regardless of which digit was the Fermi, and which two were the Picos.
037 P
105 F
309 PF
etc.
If you want more clarification of the rules of Bagels, let me know.
If you choose this project, you should write a program that will play Bagels with you, both as the Guesser and the Responder. Having the computer act as Responder is fairly straight-forward. Having it act as Guesser is trickier, but fun.