In your code, you must put comments documenting each method (function) as to who wrote that method. (If more
than one person worked on a method, you may list all their names.)
During evaluation, I may call any student to come and modify some code to do something differently in front of me to
prove that they actually wrote the sections that their name appears on.
I also have a code plagiarism checker, which can identify code copied from others outside your team. If you copy code
from anyone else, I will give you zero. In the past, I have given many zeros because I detected their plagiarism, so
please avoid this heartache for yourself. If you give your code to someone else to copy, it is also considered cheating
and you can also get zero so do not give your code to anyone else to copy. If you learn from an online source or past
year projects, that’s fine, but write your own code. If you are repeating this class, you must start this project again
from scratch. Do not use any of your old team’s code from the previous trimesters, or it will also be considered
cheating.
The project: Perilanda Chess
You are to implement a Perilanda Chess game as a GUI-based Java Application. You do not have to implement a
computer player – it can just be a two human player game.
Perilanda Chess is played on a 7x7 board, like this:
The above layout is the initial position of the game pieces. None of the pieces are allowed to skip over other.
The Chief can only move one step in any direction. The game ends when the Chief is captured by the
other side.
The Trident can move any number of steps to the left or right, but only 1 step forward. When it
reaches the opposing side of the board, it will turn around.
The Excel can move any number of steps diagonally.
The Tercel can move any number of steps up and down, or left and right.
The Advancer can only move 1 or 2 steps forward each time, but when it reaches the other edge of
the board, it turns around and heads back in the opposite direction. (The icon should also turn
around when that happens.)
After green has moved 3 times, all the green Excels will turn into Tercels and vice versa. Similarly, after brown has
moved 3 times, all the brown Excels will turn into Tercels and vice versa. Then they will change again after the 6th
move, 9th move, etc. (This makes Perilanda chess different from normal chess games, because the pieces will transform
like that.)
You must use good object-oriented design concepts in designing your program. Subclassing, delegation, composition
and aggregation should be used where appropriate.
You must use the MVC pattern, since this is a program with a GUI. This means you must not mix code that tells how
the game works with the GUI code. This means that if you later put this game on another GUI system, e.g. Android,
you will not need to change any model code – you will only have to replace the GUI code. So your view and controller
classes must not have any of the game logic – all the game logic must be in the model classes only.
In addition to MVC, you must use design patterns in your code, and you must identify what design patterns you use
and where. For example, the board might be a Singleton. The behaviour of the chess pieces might be implemented as
a Strategy or State. (These are only ideas; you do not have to use these particular design patterns, and are encouraged
to think about which design patterns might be suitable.) You may come to see the lecturers to discuss your design.
You should make your program user friendly, with suitable menus, save game, resizable windows, flipping the screen
when it is the other player’s turn, etc. For save and load game, the game should be saved into a text file so that it’s
human-readable.
You must document every class and method. You must practice proper indentation. Marks will be deducted if you do
not do this.
Please see us early if you have problems – whether it is problems understanding what you need to do, or problems
with team members who are not doing their work. The earlier you see us, the better chance you’ll have of solving
the problems. If you wait till the last week before the due date, it’ll likely be too late to fix the problems.
Get Free Quote!
301 Experts Online