ECE291 Computer Engineering II Lockwood, Spring 1998

Machine Problem 3: Grading Report

Please print this page and provide it to the TA when you demonstrate your machine problem.
When you submit this, the TA should:
check your solutions,
ask a random question that tests your understanding of the MP,
assign points for each item on the list,
assign bonus/penalty points,
and provide the floppy for electronic handin.
This page should be stapled to the front of your MP3 assignemnt.
Name: 
Date Submitted: 
Demo To:  Graded By: 
 
Handin to floppy 
Score recorded 
Gold Star
Programming Excellence
 

Notes:  
Category Points Min Max
MouseControl
  • Does not return until a valid place on the screen has been clicked
  • Correctly determines which tile or button has been clicked
  • Uses provided constants for return values.  Return values not hardcoded.
 
0 8
ResetBoard
  • Resets the tiles to their factory installed positions (in order)
  • Clears the stack of all moves (Click 'Solve' to test)
  • Resets number of Moves
  • Game continues to function correctly after it is reset 
 
0 3
Shuffle
  • Uses random numbers to shuffle the board
  • Makes ShuffAmount valid moves 
  • No tile bouncing - a tile moved in one direction is not immediately moved back to its original position.
  • Moves pushed to stack correctly (Click 'Solve' to test)
 
0 5
MoveHole
  • Moves the hole in the direction specified in SI
  • Returns error if move attempted is invalid
  • Uses lookup tables to efficiently implement (lose efficiency points if not)
  • Motion is animated using Delay routine
  • Does not alter the stack
 
0 8
DrawBoard 
  • Draws the buttons as well as the tiles
  • Draws any other static screen elements
 
0 4
UpdateScreen 
  • Updates the "Number of Moves" display
  • Updates the "Delay" display 
 
0 4
Delay 
  • Causes some sort of delay that is directly proportional to value in Delayc 
 
0 1
Random 
  • Returns a somewhat random number (Click 'Shuffle' to test)
  • First call to random returns the seed
  • Correctly implements R(i+1)=(K1 * R(i) + K2)%MaxValue
 
0 3
AutoSolve 
  • Pops all moves from the stack to result in a solved puzzle (all tiles in order)
  • Increments Moves variable for each pop
 
0 3
DrawTile
  • Correctly draws a tile at the location specified by BX
  • Labels the tile with the number in AL
  • Tile color remains consistent (Tile 1 is always drawn as the same color)
  0 3
CheckMove
  • Determines if a user's click represents a valid move
  • Moves tiles in line with the hole
  • Moves multiple tiles, if necessary
  • Correctly pushes moves to the stack (Click 'Solve' to test)
  • Increments Moves variable for each move.
  • Uses MoveHole and UpdateScreen.
  • Efficiently determines hole alignment.  (lose efficiency points if not)
  0 8
Functionality SubTotal 
 
0 50
Comments (* percentage of code written) 
  • Clear and precise line & procedure comments 

  • (describes all major routines and any additional routines): -0 
  • Sports Announcer comments (line-by-line): -1 
  • Unclear comments: -1 
  • Sparse comments: -3 
 
-5 0
Technique & Style (* percentage of code written)
  • Compact and Efficient code: -0 
  • Contains repeated code (lacks loops): -3 
  • Makes poor use of registers and/or variables: -2 
 
-5 0
I/O Specs & Modularity (* percentage of code written) 
  • Violates specifications for given subroutines: -5 
 
-5 0
Penalty/Bonus 
Before 5pm, Tuesday 3/10/98: +1 pt/weekday
After 5pm, Tuesday 3/10/98: -10 pts/weekday 
 
-50 5
Total 
 
0 55