logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

You are to implement a Herzig 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.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Object-Oriented Analysis and Design

You may have a maximum of 4 people per team.

In your code, you must put comments documenting each method (function) as to who wrote that method. (If more than one person working on a method, you may list all their names.)

During the evaluation, I may call any student to come and modify some code to do something different 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: Zeelandia Chess

You are to implement a Herzig 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.

Zeelandia Chess is played on a 6x7 board, like this:

The above layout is the initial position of the game pieces. None of the pieces are allowed to skip over other pieces except the chevron.

 

The Plus can move vertically or horizontally, up to 2 steps in any direction in a straight line.

 

The Triangle can move diagonally, both up and down, up to 2 steps in any direction in a straight line.

 

The Chevron must move in an L shape, exactly two steps then 1 step right or left. (This is the only piece that can jump over other pieces.)

 

The Sun can move only 1 step in any direction. The game ends when the sun is captured by the other side.

After 3 turns, a Plus will turn into a Triangle, a Triangle will turn into a Chevron, and a Chevron will turn into a Plus. (This makes Zeelandia chess different from all other 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.

 

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 me, 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.

Project Team Registration

You create your group on MMLS. If there is any discrepancy between the team members listed in the peer review Excel files and the MMLS team members, you will be liable for any loss of marks.

If you find as the project progresses that some people are not contributing or problematic in any other way, please contact your lecturer immediately so that remedial action can be taken before it gets too late. If you do not do so, you will be liable for any loss of marks.

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

767 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

860 Answers

Hire Me
expert
Husnain SaeedComputer science

760 Answers

Hire Me
expert
Atharva PatilComputer science

840 Answers

Hire Me

Get Free Quote!

354 Experts Online