fp-arduino
Arduino Core Grading Rubric
Verifying Your Submission
You can verify your submission to the autograder before the deadline. We will grade your final submission!
- Submit your work to the autograder at https://autograder.io/web/project/2840. Your file MUST BE NAMED
space_invaders.ino
. Any other name and your file will be automatically discarded by the autograder. Only one person from the team needs to submit. We grade the last file submitted. - View the “My Submissions” tab on the autograder.
- Click the small icon next to the file name
space_invaders.ino
to download the submitted file. Be sure to select the last submission, if it is not the submission highlighted. - Click the downloaded file to open the Arduino IDE. When the Arduino IDE popup prompts you to create a folder for the sketch named “space_invaders” select OK.
- Using the Arduino IDE and your kit, upload the file to the Arduino board and test that it is the correct file you wish to be graded.
Core Grading Rubric
- There is no autograder for grading the Arduino final project.
- The Core will be hand-graded by the teaching staff, after the Core submission deadline has passed.
- Staff will download each team submission, creating a sketch using the space_invaders.ino file.
- Staff will play the game using the same kits that were issued to student teams.
- The rubric below will be used when grading.
- No category can exceed the points in column 2 from the table below.
- No category can receive less than 0 points.
- The staff will not pre-grade any part of the project before the deadline. All grading will be done after the submission deadline.
Category | Points | Possible Violations |
---|---|---|
Display level and lives correctly |
3 |
-1.5 does not display before game starts -1.5 does not display level between levels |
Button works |
1 |
-1 does not fire Cannonball when button pressed -1 continuously fires Cannonball when button not pressed |
Potentiometer works correctly |
2 |
-1 "Joystick" mode - player moves when potentiometer is not moving -1 Player cannot reach both ends of screen to enable firing the Cannonball at every column |
Check level complete and move to next level when all Invaders defeated |
3 |
-3 does not move to the next level when all Invaders defeated -2 moves to the next level when more than one Invader alive -1 moves to the next level when one Invader alive |
Invader dies/loses strength when shot |
8 |
-4 part of the Invader erased but still changes color -4 Cannonball does not disappear correctly -4 if Cannonball sometimes goes through Invader without hitting it -8 Invaders do not die/change color when hit |
Invaders move down the screen |
8 |
-2 top row of Invaders not drawn correctly -2 one Invader in a row lags behind the others of the row -3 Invaders move slower while shooting continuously -4 one of the rows does not move down -2 both top and bottom rows of invaders move down at the same time -8 no Invaders move down the display |
Can play through the first random level, level 5, without the game crashing |
3 |
-3 cannot reach level 5 -3 cannot complete level 5 by destroying all Invaders |
Initialize all levels correctly |
4 |
-1 Invader strengths not associated with their correct color -1 incorrect strength initialization for any level -1 level does not go past 5 -1 random levels do not have different strengths - i.e., level 5 and 6 have the same Invader strengths -1 level 5 Invader strengths are the same every time the game is restarted |
Player dies correctly |
5 |
-3 Player collision with Invaders does not work -3 Invaders go beyond the bottom border, or Player dies when Invaders are more than 3 pixels from the bottom of the display -1 Player dies before Invader reaches player as defined in the "What is the hitbox for an invader" in the FAQ of the specification. |
When losing a life, level restarts |
1 |
-1 level does not restart with original Invader strenghts and positions for the level after Player dies |
Game Over displays correctly |
1 |
-1 Does not display Game Over when all Player lives are lost, or does not display long enough to be read |
Cannonball visible until it reaches an Invader or leaves top of the display |
4 |
-2 Cannonball disappears before reaching the top of the display -2 Cannonball pixels "get stuck" on the top of the board, or when the button is pressed again -2 Cannonball moves side to side with the potentiometer -2 multiple Cannonballs can be shot -2 Cannonball relaunched when button pressed before reaching the top of the display, or Cannonball does not launch until the button is released after being pressed, or the Cannonball is not immediately fired again when holding down the button and the Cannonball reaches the top of the display or collides with an Invader. -2 Cannonball from previous level continues on new level -4 Cannonball not displayed at all |
Display does not flicker or lag because of code |
2 |
-1 if noticable flicker/lag -2 if strobing flicker or lag of 1 second or more |
Style |
5 |
-1 code has less than three comments -2 code has three or more instances of poor indentation -2 code has four or more variables with meaningless names (x, y, r, g, b are fine)
|
-2 points for each line of code that staff alter to enable grading of your solution |
Varies |
-2 for each line of code staff must modify Staff will grade solutions by playing your game. Staff will attempt modify code, within reason, to enable grading Overall grade cannot be lower than if staff did not modify your team submission |
Total Points - Core |
50 |