As of 4/14, I have completed entering and updating all grades. I have given scores to all students who I originally gave a 0 due to segmentation faults or compilation errors. I also updated the scores of many people to be a bit more lenient on parts 3 and 4. ALL scores that I updated only increased. I will most likely not be going back through students and checking test cases on my own whim. If you feel that you were graded unfairly, please e-mail me and I will go back and see what I can do. I do not mind changing your grade if you find an error that I made or you have a valid reason as to why a certain case failed.
Below is a list of common mistakes as well as how I awarded points in certain situations. Please note that I can not debug each individual student's errors, so e-mails asking me where you specifically messed up in your code will probably not get very detailed responses.
Part 1 errors
People who had invalid cases on part 1 usually did not implement their load() function well. Unfortunately, not having a proper load() function propagated to the other cases. To fix this, I copied over the solution code for load() and re-ran the autograder. If I was forced to use the solution code, I just took off a flat -5 for not having load() working properly as well as any additional tests that still failed due to items/spells.
Part 2 errors
Part 2 rigorously tested your item functions, and many people seg faulted or had failed assertions due to dereferencing null pointers or missing edge cases. Each test was worth 2 points, but I only took off one point if you failed the test, provided you made a valid attempt at the function.
Part 3 & 4 errors
The lowest score one could get on parts 3 and 4 was 4/8 on each, provided you made a valid attempt at the required functions. If you had errors with your items, that was usually a point or two off in part 3. Most people had magic working. Most errors came because the game would crash halfway through, or a lot of information was not displayed (i.e. goblins attacking a person).
Other
If you made a valid attempt at all functions, you were guaranteed a minimum score of 20/40. The only exception to this is people for whom I could not compile.
PLEASE e-mail me if you have any questions about your grade or the comments that I made. I do make mistakes and it's hard to catch them all!