Lab 9 Grading Guideline ======================= [A] Top Level Object (10%) (10 points) [A1] Students have created a top level object for the project (4 points). This object should create an instance of the MazeGUI (3 points) as well as all of the listeners (3 points). [B] Listeners (24%) (6 points) [B1] Students have created six listener classes that implement the ActionListener interface. One for each of the following buttons (up, down, left, right, new navigator, parse text). (6 points) [B2] Each of these listeners is attached to the appropriate button in the top level object using the appopriate methods from the MazeGUI class. (12 points) [B3] Each listener performs some action. The action does not have to be correct, but clicking on each of the buttons should cause something to happen. In the lab, it suggests a random shape comes up on the screen. This functionality will not be there once the real functionality is in place, so if the real functionality exists, these points are in addition to that. If the real functionality does not exist, award 2 points for every button that does something. [C] New Navigator Button & Navigator Class (12%) ( 4 points) [C1] The new navigator button creates a navigator that appears on the screen in the starting position of the maze. ( 8 points) [C2] There is a navigator class created that handles the graphic of the navigator on the screen (3 points). Each of the other buttons should call methods on the navigator (3 points). Therefore, we should see methods for moving in all directions as well as parsing the inputted string. [D] Up, Down, Left, Right Buttons & Movement (28% - Extra Credit Possible Here) ( 8 points) [D1] The four directional movement buttons move the navigator. This part ignores the walls or anything else. Each direction is worth 2 points. (10 points) [D2] The navigator does not go through walls. ( 5 points) [D3] The navigator is not allowed to move left off the start square. ( 5 points) [D4] The navigator is not allowed to move right off the finish square. ****** EXTRA CREDIT ****** ( 6 points) [D5] The navigator leaves a visual trail behind as it walks the maze. ( 5 points) [D6] There is a visual indication of how often a navigator visited a particular spot on the maze. [E] Finishing Maze (6% - Extra Credit Possible Here) ( 4 points) [E1] There is an indication from the program when the navigator reaches the end of the maze. This could be a pop-up or a set of animations that take place when the navigator reaches the finish. NOTE: Can only get credit for one of E2 or E3 ( 2 points) [E2] After finishing a maze, and after E1 is complete, navigator gets sent back to start position of current maze. ( 4 points) [E3] After finishing a maze, and after E1 is complete, a new maze is created and navigator is sent to the start position of the new maze. ****** EXTRA CREDIT ****** ( 8 points) [E4] After finishing a maze, and after E1 is complete, the user is presented with a choice of doing E2 or E3 and the program will behave appropriately based on the user's choice. [F] String parsing functionality (20% - Extra Credit Possible Here) ( 8 points) [F1] String from text field is parsed appropriately and navigator moves according to commands given. ( 4 points) [F2] Navigator ignores any commands it cannot do. ( 8 points) [F3] Bad inputs in the input string are handled in one of two ways: (i) by being ignored (no bonus) (ii) by telling the user there was a problem and asking them to re-enter their command. (2 point extra credit) That is, they should not cause the program to stop working. ****** EXTRA CREDIT ****** (10 points) [F4] String accepts direction and number of spaces. If the motion can not proceed the number of spaces provided, the extra movements are ignored. Bad inputs can be ignored, but they can not stop the program from running. [G] Maze solver (Totally extra credit) ( 2 points) [G1] Creation of another button on the GUI for a maze solver. (15 points) [G2] Maze solving - the navigator will solve the maze by moving itself (motions should be seen) to the end of the maze. The maze solver does not necessarily have to be correct in every movement, but it needs to make it to the end of the maze in a reasonable amount of time. (10 points) [G3] When the maze solving is complete, the maze solver shows the solution to the maze by making the cells on the solution a different color. DEDUCTIONS [H] UML Diagram & Attendance (25 points maximum deduction) ( 9 points) [H1] If a UML diagram was not submitted, deduct 9 points. (16 points) [H2] If student was not present for one of the lab sessions, deduct 8 points, if not present for both, deduct 16 points. [I] Style (20 points maximum deduction) If the submitted code does not meet the given criterion, it should be deducted the appropriate (5 points)[I1] Code uses proper tabbing and whitespace for readability. (5 points)[I2] Naming of classes, methods, and variables are meaningful to the project. (5 points)[I3] Naming conventions for classes, methods, variables, parameters are following according to CSE 115 styles. (5 points)[I4] Every class, instance variable, and method is commented with its purpose in the project. GIVING FEEDBACK You must e-mail a feedback/grade message to each student whose work you grade. You will ONLY e-mail to the student's cse e-mail account, which is username@cse.buffalo.edu. The subject line will be: CSE115 Lab 9 Grade and feedback A copy of this ENTIRE email with the bottom part filled in by you should be sent to the student for their reference. If a student receives less that the maximum number of points, you must give an explanation of why the student lost points. ---------------------------------------------------------------------- [Lab #9: 100 points maximum] Your score ==> *** Extra Credit is possible [A: 10 points maximum] You earned ==> Breakdown: [A1: 10 max] ==> [B: 24 points maximum] You earned ==> Breakdown: [B1: 6 max] ==> [B2: 6 max] ==> [B3: 12 max] ==> [C: 12 points maximum] You earned ==> Breakdown: [C1: 4 max] ==> [C2: 8 max] ==> [D: 28 points maximum] You earned ==> Breakdown: [D1: 8 max] ==> [D2: 10 max] ==> [D3: 5 max] ==> [D4: 5 max] ==> Extra[D5: 6 max] ==> Extra[D6: 5 max] ==> [E: 6 points maximum] You earned ==> Breakdown: [E1: 4 max] ==> [E2: 2 max] ==> [E3: 4 max] ==> *** Can only earn credit for one of E2 or E3 Extra[E4: 8 max] ==> [F: 20 points maximum] You earned ==> Breakdown: [F1: 8 max] ==> [F2: 4 max] ==> [F3: 8 max] ==> ** 2 points additional possible on F3 Extra[F4: 10 max] ==> ***** G is entirely extra credit ***** [G: 27 points maximum] You earned ==> Breakdown: [G1: 2 max] ==> [G2: 15 max] ==> [G3: 10 max] ==> DEDUCTIONS [45 points max deduction] [H: 25 points max deduction] Breakdown: [H1: 9 max] ==> [H2: 16 max] ==> [I: 20 points max deduction] Breakdown: [I1: 5 max] ==> [I2: 5 max] ==> [I3: 5 max] ==> [I4: 5 max] ==>