List of Common Mistakes  for the 'Burst-A-Bubble' (XNA-based) Assignment:

Category

Mistake

Suggested Percentage Of Assignment
(explanation here)
  BurstABubble Game: Randomly Placing the Bubbles

30

(Failure to complete part of the assignment)

You haven't changed the code so that your randomly place the bubbles. -30%
Correctness You don't use the correct formula for generating random numbers within a certain range (as a result, the random placement off all the bubbles is off) -15%
(Failure to abide by the restrictions set forth in the assignment) You didn't place 4 bubbles 'close in' (between 10 & 30 units away) -5%
(Failure to abide by the restrictions set forth in the assignment) You didn't place 4 bubbles 'far out' (between 60 and 90 units away on the X axis, and between 10 and 50 units away on the Y axis) -5%
Efficiency You should create a single Random object and re-use it each time the Reset method is run, rather than creating multiple objects.  A good way to do this would be to create, as an instance variable, a reference variable to refer to the Random object. -5%
(Failure to complete part of the assignment) You need to place the 32 remaining bubbles in one of three ways (as described in the homework): randomly, in a nice pattern, or in a nice pattern with the remaining placed randomly.  You don't do any of these -10%
Correctness When randomly placing the remaining bubbles, the area where the bubbles may be placed doesn't actually span the entire screen. -5%
Maintainability When randomly placing the remaining bubbles, you should use the provided constant instance 'variables', rather than hard-coded magic numbers to determine -3%
(Failure to abide by the restrictions set forth in the assignment) The nice pattern that you've got is exceedingly simple, and thus doesn't meet the requirements set forth in the assignment -10%
(Failure to abide by the restrictions set forth in the assignment) The nice pattern that you've got is constructed by putting in <= 32 separate lines, each of which creates a bubble using hard-coded coordinates. -10%
(Failure to abide by the restrictions set forth in the assignment) The radius of all bubbles should vary from between 1 & 5. -5%
Maintainability You should use the const 'variables', such as MIN_BUBBLE, rather than hard-coding magic numbers directly into your code. -4%
  Fireworks Class 50
(Failure to complete part of the assignment) You don't override the provided methods in order to accomplish your task. -50%
Proper encapsulation All data members (fields), methods, properties, etc, on ALL the classes that you've created should be marked public, private, etc. -3%
(Failure to complete part of the assignment) You don't implemented DoUpdate
(in the XNA version, this is pretty much the same as not doing this at all, except for maybe adding a couple of (unused) data fields...Remove?)
-40%
Maintainability

(Failure to abide by the restrictions set forth in the assignment)

You should re-use logic that other parts of the game already use, rather than re-writing your own versions. -25%
Maintainability Instead of re-implementing the Projectile.DoUpdate method, have your DoUpdate method call the Projectile's version. -7%
Maintainability

(Failure to abide by the restrictions set forth in the assignment)

You should be able to have the Fireworks be removed from play without having to modify the PlayRound method – examine the return value of DoUpdate more carefully, and see if you can use that, instead. -5%
(Failure to abide by the restrictions set forth in the assignment) Fireworks are specifically not affected by gravity. Odd, yes, but a clearly stated requirement. -3%
(Failure to abide by the restrictions set forth in the assignment) The firework doesn't explode after a set amount of time -5%
(Failure to abide by the restrictions set forth in the assignment) The radius doesn't change when the firework explodes -5%
Correctness When you return true from the Firework.DoUpdate, the rest of the game immediately removes the firework from play. Specifically, it removes it before checking to see if the firework overlaps with anything. Therefore, you need to 'explode' the firework, change the radius, and then wait a short time, before removing the Firework from play. -5%
  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)
-20%
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.