CMPUT 229 Laboratory Assignment - Checkers Game =============================================== Final Mark: /100 MARKS TOTAL ===== Part 1: _____ /80 checkers.s Part 2: _____ /20 Program Style ------------------------------------------------------------------------ Part 1: checkers.s Total: _____ /80 The functions in this section will be graded from the percentage of correct output from test cases. _____ /40 Checkers Functions * The categories in this section will be graded by unit tests. _____ /5 genSlideMoves Function * Correct moves bitboard returned in a0 _____ /5 genJumpMoves Function * Correct moves bitboard returned in a0 _____ /10 makeMove Function _____ /3 Correct BLACK Bitboard * Correct value in BLACK global variable after makeMove. _____ /3 Correct RED Bitboard * Correct value in RED global variable after makeMove. _____ /3 Correct KINGS Bitboard * Correct value in KINGS global variable after makeMove. _____ /1 Correct TURN Variable * Correct value in TURN global variable after makeMove. _____ /20 doTurn Function _____ /4 Correct BLACK Bitboard * Correct value in BLACK global variable after doTurn. _____ /4 Correct RED Bitboard * Correct value in RED global variable after doTurn. _____ /4 Correct KINGS Bitboard * Correct value in KINGS global variable after doTurn. _____ /4 Correct TURN Variable * Correct value in TURN global variable after doTurn. _____ /4 Correct doTurn Output * Correct return value from doTurn. _____ /40 Gameplay Behaviour * For proper gameplay behaviour. _____ /11 Game Pieces Displayed to the Board Correctly * The gamestate is accurately displayed on the board skeleton. - 4 marks will be deducted if the game pieces are displayed with minor errors. - 8 marks will be deducted if the game pieces are displayed with major errors that affect playability of the game. _____ /4 Selected Squares Displayed on Board * Selected squares, represented by 'x' are correctly displayed to the board when a game square is added to MOVES_ARRAY, and are cleared when 'q' or 'SPACE' are pressed. - 2 marks awarded for correctly displaying selected squares on the board. - 1 mark awarded for clearing selected squares when 'q' is pressed. - 1 mark awarded for clearing selected squares when 'SPACE' is pressed. _____ /6 Correct Win Condition Behavior * Correctly determine when a player has won, print the corresponding win message and return from checkers (end the game). - 4 marks awarded for correctly checking both colors win condition and returning. - 1 mark awarded for displaying a win message when the game ends. - 1 mark awarded for displaying the correct win message for the winner. _____ /8 Colors Correctly Take Turns Making Moves * TURN variable is correctly updated (0 -> 1, 1 -> 0) after a successful turn, and only the color represented by the current TURN can move. - 2 marks awarded for correctly updating TURN variable after a successful move (0 -> 1, 1 -> 0). - 6 marks awarded if only the color represented by TURN can make a move. _____ /3 Square Inputs Read in Correct Order * Square inputs are read in the correct order: first the file, then the rank. _____ /2 Non Game Square Inputs are Ignored * When a non-game square input is entered, it is ignored and nothing is added to MOVES_ARRAY. _____ /2 Discarding All Current Moves When 'q' is Pressed * All moves in MOVES_ARRAY are discarded when 'q' is pressed, as well as any partially selected squares (have read file, but not rank for a square). - 1 mark awarded for resetting MOVES_ARRAY in some way. - 1 mark awarded for discarding any partially inputted moves. _____ /3 Attempt a Turn, Then Clear MOVES_ARRAY and Any Partially Selected Moves When 'SPACE' is Pressed * Attempt a turn with the current MOVES_ARRAY, then clears MOVES_ARRAY and any partially selected moves after turn attempt. - 1 mark awarded for attempting a turn with the current MOVES_ARRAY. - 1 mark awarded for resetting MOVES_ARRAY in some way. - 1 mark awarded for discarding any partially inputted moves. _____ /1 Correct Starting Game State * One mark is awarded for setting the initial game state to the following values. - BLACK = 0x00000FFF - RED = 0xFFF00000 - KINGS = 0x00000000 - TURN = 0 (BLACK moves first) ------------------------------------------------------------------------ Part 2: Program Style Total: _____ /20 Some common deductions will include: (5 marks per deduction) - No subroutine description - No program header - No explanation for register usage - No block comments