| Procedures |
Points |
Min |
Max |
LoadPCX
- Loads a PCX image and saves it to the input
segment.
- 'MP4 1' could be
used to test this procedure.
|
|
0 |
5 |
InstKey / MyKeyInt / DeInstallKey
- Sets all specified keyboard variables to their
appropriate values when the correct button is
pressed.
- 'MP4 0' should be
used to test this procedure.
- All combinations of two simultaneous button
presses should be supported.
- When program execution is complete, keyboard
control should be restored to the default
interrupt.
|
|
0 |
10 |
SetUpGameData
- The correct values should be placed into the
specified variables at startup.
- Loads all necassary images.
- Initial player position and heading are correct.
|
|
0 |
5 |
ShowScreenBuffer
- Writes directly to the screen.
- Clears the ScreenBuffer.
- String opcodes are used to transfer data.
- 32-bit registers are used for optimal efficiency.
|
|
0 |
5 |
WorldValue
- Returns the value of the wall cell found at the
input location.
|
|
0 |
5 |
DrawStrip
- Places a vertical texture strip, centered about
Y=100, iinto the ScreenBuffer.
- The top and bottom of the strip are clipped
correctly.
- 'MP4 2' can be
used to test this procedure.
- The call to your DrawStrip should look
identical to the library.
|
|
0 |
10 |
CalculateMovement
- Outputs the correct Delta_X, Delta_Y,
and view_angle based on the state of the
keyboard variables.
- The following criteria must be met:
- Shift in combination with any button
performs a fast move. No shift, slow
moves.
- Left Alt in combination with the Left
Arrow or Right Arrow causes you to
strafe.
- View_angle is changed first, then
deltas are calculated using this new
heading.
- You should always appear to be moving at
the same speed. (Variations due to
changes in the frame rate are acceptable)
- Support is provieded for all key
combinations.
- You must leave the FPU stack in the same
state that you found it. (Pop off the
last value you used on the FPU stack.)
- 'MP4' should be
used to test this procedure.
- You should appear to go straight ahead no matter
what the view_angle is.
|
|
0 |
10 |
ProcessMovement
- Modifies Player_X and Player_Y if
the move was valid.
- This procedure should perform the bounds checking
so that you don't walk through walls.
- The player should remain a distance of at least WALLBUFFER
away from all walls.
- The player should be able to walk through doors
and open space.
- Wall sliding is allowed. (No sticky walls)
- A move into a wall leaves you exactly WALLBUFFER
units away from the wall cell.
|
|
0 |
10 |
Checkpoint 1 : Functionality SubTotal
Initial each finished procedure with "CP1"
|
|
0 |
30 |
Checkpoint 1 Late Penalty
After 5pm, Friday 4/3/98: -10 pts/weekday |
|
-30 |
0 |
| Checkpoint 1 : Total (record as MP4) |
|
0 |
30 |
Performance
Determined upon submission of checkpoint 2
- The frame rate of the spinning ECE291 logo gives
a good indication of the overall speed of your
code.
- Running 'MP4 3' and pressing F2 will
display your frame rate.
- Points:
- 10% or more faster than crippled library
code: 5 points.
- As fast as library code: 4 points
- Within 90% as fast as library code: 3
point.
- Within 50% as fast as library code: 2
point
- Within 10% as fast as library code: 1
point
- Incomplete or non-functional routine: 0
points
- Maximum Frame Rate of library code on current
machine: __________
- Maximum Frame Rate of you code on the current
machine:__________
- Percent difference between yours and
ours:_________
|
|
0 |
5 |
Checkpoint 2 : Functionality SubTotal
Initial each procedure as "CP2"
Include points for performance
BE SURE THAT POINTS ARE NOT COUNTED TWICE
|
|
0 |
35 |
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 |
Checkpoint 2: Penalty/Bonus
Before 5pm, Wednesday 4/8/98: +1 pt/weekday
After 5pm, Wednesday 4/8/98: -10 pts/weekday |
|
-35 |
+5 |
| Checkpoint 2 : Total (record as MP5) |
|
0 |
40 |
Total = MP4 + MP5 Not explicitly recorded
in gradebook. |
|
0 |
70 |