NOTE: Please read the following rubric before requesting a regrade. The general type of regrade we're expecting is if you feel you had a single bug that we didn't notice which caused you to fail SEVERAL of the tests. ALIASING: 2 points for compiling (part1.none) 2 points for append_alias and num_alias basically working. (part2.1) 1 point for delete_alias basically working. (part2.21) 1 point for delete_alias working when there are no aliases with that name. (part2.22) 2 points for saving aliases in the correct memory slot. (part2.2) 2 points for find_alias (part2.3) 2 points for print_alias (part2.4) 2 points for load_alias (part2.5) 1 point for save_alias (part2.6) COMMANDS: 3 points for lookup_command working for simple replacement (part3.simple) 3 points for lookup_command working for argument correction (part4.args) 2 points for lookup_command use correct place for memory (part2.7) CASTING: 1 point get_spell (part2.8) 1 point get_spell_level (part2.9) 1 point fireball, no target (part2.10) 1 point fireball, at (part2.13) 1 point fireball, can't find target (part2.11) 2 points fireball, damage (part2.12) 1 point heal, not self (part2.14) 1 point heal, heal all of HP (part2.15) 1 point heal, the amount of HP healed is capped (part2.16) 1 point cast, no spell (part2.17) 1 point cast, invalid spell (part2.18) 1 point cast, invalid level (part2.19) 2 points cast, argument correction (part2.20) 1 point cast working in game (part5.cast) * No points taken off for wrong output messages if the checks are correct. * For people with bugs in alias, return 1/2 credit for autograder points gained by fixing a simple mistake (e.g. not calling delete_alias(name) in append_alias()) * Memory leaks >40 blocks lost (aka, don't free anything): -5 >20 blocks lost: -4 >0 blocks lost: -3 timeout/segfault: automatic -3 * Lower bounds on scores: 10 - at least half implemented 20 - hard to fix data structure / memory corruption / lookup_command bugs, but everything plausibly implemented 30 - if all major bugs are fixable in a change or two * Common Mistakes: leaking memory, pointer manipulation/list management in appending aliases, lookup_command, error checking in casting