Category |
Mistake |
Suggested Percentage Of Assignment (explanation here) |
Algorithm Implementation: PlayToCell |
40 |
|
(Failure to abide by the restrictions set forth in the assignment) | Your code needs to work for any sized board (not just an 8x8 board) - you need to use m_Resolution to accomplish this. | -10% |
(Failure to abide by the restrictions set forth in the assignment) | You use 0 for the black player, and/or 1 for the white player, instead of BlackPlayer and WhitePlayer. | -4% |
Correctness | You don't check that the newly placed piece is inside the board | -5% |
Correctness | You don't check that the newly placed piece is adjacent to an existing piece | -5% |
Correctness | You don't check that the newly placed piece is adjacent to an existing piece of the opposite color | -3% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check above the newly placed piece, in the same column. | -4% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check below the newly placed piece, in the same column. | -4% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check rightward of the newly placed piece, in the same row. | -4% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check leftward of the newly placed piece, in the same row. | -4% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check above-and-leftward of the newly placed piece, on the diagonal. | -4% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check above-and-rightward of the newly placed piece, on the diagonal. | -4% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check below-and-left of the newly placed piece, on the diagonal. | -4% |
Correctness | When checking for a 'bracketing' piece (another piece, of the same color, that's already on the board, and is separated from the newly placed piece by at least 1 oppositely colored piece), you don't check below-and-right of the newly placed piece, on the diagonal. | -4% |
Correctness |
Your method fails to both DETECT if a move is valid, and if so, also
FLIP all game pieces that need to be flipped (As a result, the game never flips any game pieces) |
-20% |
Correctness | Your implementation doesn't return true if the move is valid, and false otherwise | -10% |
Correctness | You don't check if the player attempts to move onto an already occupied cell/square | -3% |
Style, Maintainability | You didn't remove the 'example code' that was provided in the starter project, despite the fact that the starter code doesn't really do anything useful | -2% |
Algorithm Implementation: HasValidPositions |
40 |
|
(Failure to abide by the restrictions set forth in the assignment) | Your code needs to work for any sized board (not just an 8x8 board) - you need to use m_Resolution to accomplish this. | -10% |
Correctness | You need to return true if there is at least one valid move that the current player can make, and false otherwise | -40% |
Algorithm Implementation: Functional Decomposition |
10 |
|
NOTE TO INSTRUCTORS: If you choose to remove this outcome from the assignment, then make sure to remove this section from the rubric | ||
(Failure to complete part of the assignment) | You don't have any modularity / functional decomposition anywhere in your code | -10% |
(Failure to complete part of the assignment) | You should modularize the logic that relates to figuring out how detect (and flip) opposite-colored pieces in vertical columns. | -3% |
(Failure to complete part of the assignment) | You should modularize the logic that relates to figuring out how detect (and flip) opposite-colored pieces in horizontal rows. | -3% |
(Failure to complete part of the assignment) | You should modularize the logic that relates to figuring out how detect (and flip) opposite-colored pieces in diagonal lines. | -3% |
Efficiency, Maintainability (Failure to complete part of the assignment) |
You should figure out a way to reuse your logic, so that PlayToCell, and HasValidPositions, can both use some common code, rather than having them re-implement the same code twice, in two separate locations. | -5% |
Computer Efficiency (Efficient use of resources, such as memory) |
10 |
|
Don't create unused variables | The variables r1, x, and y are unused remove them. | -1% |
Don't create unneeded local variables |
For something like:
you can instead write: |
-1% |
Style / Presentation |
10 |
|
Please give your variables that indicate what the variable is used for | -2% | |
Commenting |
You didn't comment any of your code. |
-1% |
Identify the author of each file |
You didn't put your name, etc, at the top of EVERY source code file, including any files given to you. (The "etc" part includes the name of this class (BIT 142), and the year and quarter, and the assignment number, including the revision number) |
-1% |
Quality of presentation (Make sure that what you've handed in looks good) |
Code that you've commented out, because you're no longer using it, should be removed before handing in the assignment. |
-1% |
Horizontal Indentation | Your code isn't formatted entirely consistently in your C# file, try doing a "Select All", then under the "Edit" menu, under "Advanced", do "Format Selection" | -1% |
Vertical White Space | Your code contains excessive numbers of blank lines in at least one place. | |
General Assignment Mistakes | ||
(Failure to abide by the restrictions set forth in the assignment) |
You modified part of the program, other than those parts of the program
that supposed to be modified for this assignment. NOTE: If you check with the instructor first, this penalty may be reduced or eliminated, on a case-by-case basis. In general, modifying other parts of the program to make the program more fun, more cool, etc, have a good chance of being approved by the instructor. Modifying other parts of the program in an attempt to avoid working/thinking hard for the assignment will always be penalized |
(up to) -10% |
Submission Mistake | You included the "Debug", "bin", or "obj" directories, and you shouldn't have. The assignment specifically said not to do this. |
These result in point penalties, since the student has failed to complete one or more parts of the assignment, even though no particular percentage has been assigned to this category. |
Submission Mistake |
You didn't include the project files, please do so in the future. The assignment specifically said to do this. |
Explanation of Percentages assigned:
Please note that for any given category, the total of the penalties may add up to more (or less) than the total for the category ; many of the mistakes are mutually exclusive (and since they therefore can't all apply, it's ok to add up to more than the category total), and if the student doesn't include any work in a particular category, it is suggested that you remove all points from that category (even if the individual items don't add up to the category total)
Note: While this list is intended to be as comprehensive as possible, it is not exhaustive - it is possible for students to make mistakes that aren't listed above. Students should be aware that they may receive feedback (and point penalties) for such mistakes.
This document and the related materials are developed with support
from Microsoft Research Computer Gaming Initiative under the Computer Gaming
Curriculum in Computer Science RFP, Award Number 15871.