CPSC 231 - Assignment 5 Marking key |
|
|
|
Note: Your solution to this assignment is supposed to be
object-oriented. The max score is 60% if classes and objects are not
used (functionality and style marks may be awarded as appropriate but
the total score won’t exceed the above value) |
|
|
|
Description |
Marks |
|
Actual |
Max |
Coding style |
|
|
Appropriate use of white space |
|
1 |
Self-documenting variable, constant and function names. |
|
3 |
No global variables (global constants are OK) |
|
2 |
No magic numbers (using named constants instead) |
|
2 |
Deep nesting of if statements and loops is avoided (max 3 levels of
nesting) |
|
2 |
Arithmetic expressions are simple and easy to read |
|
1 |
Boolean expressions are simple and easy to read |
|
1 |
Sub-total for style |
|
12 |
|
|
|
Documentation |
|
|
Header documentation includes name and tutorial section |
|
1 |
Header documentation contains description of program. |
|
2 |
In line documentation used for blocks of code. |
|
3 |
Sub-total for documentation |
|
6 |
|
|
|
Code Design: (Using partial solution provided. If you provide you own
solution, marks for code design are assigned at markers discretion.) |
|
|
Additional functionality for class Board implemented in 5 methods (with
possible additional supporting methods.) |
|
2 |
Each method has at most 30 lines of code. |
|
3 |
Each method has a single well-defined task |
|
3 |
All functionality is implemented in a method of a class and not a
function |
|
3 |
All instance variables (with class scope) are logical attributes of the
class (not convenience variables used by various methods). |
|
2 |
Sub-total for design |
|
13 |
|
|
|
Functionality (only qualify for these marks if the program runs) |
|
|
Can read saved games from file |
|
4 |
Writes saved games to file (half marks if the saved game cannot be
reloaded again) |
|
4 |
Can enter location of piece to move. |
|
0.25 |
Program checks that the color of a piece selected matches the turn |
|
4 |
Can enter a direction of movement for a piece |
|
0.25 |
Can move a piece (consists of multiple components) |
|
1) Correctly determines coordinates of the destination |
|
4 |
|
2) Checks that the destination is empty |
|
2 |
|
3) Ensures piece does not move beyond the bounds of the board |
|
2 |
|
4) Piece actually moves (source emptied, piece moves onto destination) |
|
3 |
Can capture a piece (consists of two components) |
|
1) Checks that the destination is empty and within bounds |
|
2 |
|
2) Captured piece is removed from the game |
|
2 |
Player can pass on a turn |
|
0.25 |
A player can win the game |
|
0.25 |
Sub-total for functionality |
|
28 |
|
|
|
ASSIGNMENT TOTAL |
|
59 |