Q4: Finishing Touches

Table of Contents


  • Finish your first scenario!
  • Implement animation in an Actor class.
  • Implement score counting in your scenario.
  • Publish a scenario to the Greenfoot website.

Academic Honesty

Read the Scholastic Honesty Policy and Assignment Integrity policies of the syllabus. Here are some clarifications for this particular assignment:

  • You are encouraged to work with one other student of this class following the Rules of Pair Programming. If you choose to pair program, there is a bonus applied.
  • If you pair program, you must combine both sets of code from prior quests to produce one project.
  • You may not show your completed code to another person or look at another person's code until you complete and submit this assignment, except for code you develop together with your pair-programming partner.
  • You may copy small portions of the code from the textbook or the instructor's web pages.
  • You may get help from people other than your pair-programming partner if you get stuck, but only if they do not show or tell you the code to type.

If you get stuck, take a break and come back to it later, talk to the professor, or ask a classmate for help. Remember, do not allow the classmate to type code for you or show you code to copy.

Project Crafting Specifications

Update your project from the last assignment by completing the following specifications. Work with your guild members to finalize your scenarios. Review each others scenarios, including the code, and make suggestions.

  1. Make certain that your project meets the specifications of the last assignment and correct any problems.

    Remember that this is an original project with the specifications applied to something other than Bug World or Crab World. You may NOT use ANY classes from the lesson or book; all work must be original.

  2. In the World subclass, add actors so that your scenario is automatically populated.
  3. In an Actor subclass, write a method named updateImage() that alternates automatically between two or more different images to produce an animation, and then call that method from the act() method.

    Please use this method name exactly so I can easily find your animation code.

  4. Add a numerical score counter to your scenario, make a mathematical computation, and display the score using showText().
  5. Publish your scenario on the Greenfoot website with the tag real-cabrillo-college (notice the dashes) and include the URL (web address) in the README.TXT file for your scenario.
  6. Review another student's scenario (real-cabrillo-college tag) with a recent date and leave a positive suggestion for improvement (not just a comment, but a suggestion).
  7. Update the Scenario Information (README.TXT file) for your project to fill in all the information for the Greenfoot supplied labels like your name for AUTHOR and information for PROJECT TITLE and VERSION OR DATE, as well as providing the current status.
  8. Submit a zip file (with all source code) of your original project to Canvas as explained in the section of this document: Deliverables.

Project Extra Credit

Adding the following are worth extra credit points:

  1. Complete the quest following the rules of pair programming with one other student of the class. (2 points)

    Review the rules, combine code, and turn in one project.

  2. Use random numbers within your world subclass to automatically populate at least two actors in your scenario. (1 point)

Make certain that your Scenario Information README.TXT file describes any extra credit attempted.

Grading Criteria

The instructor will evaluate your assignment using the following criteria. Each criteria represents a specific achievement of your assignment and has a scoring guide. The scoring guide explains the possible scores you can receive.

Some scoring guides have a list of indicators. These indicators are a sign of meeting, or a symptom of not meeting, the specific criterion. Note that a single indicator may not always be reliable or appropriate in a given context. However, as a group, they show the condition of meeting the criterion.

For information on grading policies, including interpretation of scores, see the syllabus page.

Project Functionality

  • 10: Demonstrates mastery of the assignment
    • Has extra features or demonstrates techniques beyond the assignment
    • Applies concepts from the lesson(s) appropriately
    • Meets all specifications (see above) with particularly elegant solutions
    • No errors encountered during operation
  • 8: Has all the functionality expected of the assignment
    • Demonstrates many techniques from the lesson
    • Meets all specifications (see above)
    • Implementation seems more complicated than necessary.
    • May have one minor error
  • 6: Has most of the functionality expected of the assignment
    • Demonstrates some techniques from the lesson
    • Meets all but one of the specifications (see above)
    • Implementation seems excessively complicated.
    • May have 2-3 minor errors
  • 4: Has some of the functionality expected of the assignment
    • Demonstrates some techniques from the lesson
    • Meets at least 1/2 of the specifications (see above)
    • Implementation seems excessively complicated.
    • May have more than 3 minor errors
  • 2: Serious functional problems but shows some effort and understanding
    • Meets less than 1/2 of the of the specifications (see above)
    • Has a major error or many minor errors
    • Implementation seems very convoluted
    • Demonstrates few techniques from the lesson
  • 0: Does not compile or execute, no specifications met, or wrong folder name

Other Project Suggestion

  • 2: Posted a positive suggestion for another student's project in the Greenfoot Gallery
  • 1: Posted a suggestion but was not helpful
  • 0: No suggestion posted

README.TXT File for Project

  • 2: README.TXT file submitted with specified information included
  • 1: README.TXT submitted but some information was not included
  • 0: No README.TXT submitted or wrong folder name

Maximum Score: 14, plus extra credit


Follow these instructions carefully and exactly to turn in your quest (assignment) to Canvas and maximize your XP:

  1. Zip your scenario folder.
  2. Submit the zip file to quest Q4: Finishing Touches in Canvas.

Do not put any spaces or special characters like #, : or $ in zip file or folder names.

Your crafted code must work as submitted. Remember to test and double check your files before and after submitting them. If you make a mistake, you can resubmit up to the deadline but must resubmit all your files as Canvas hides prior submission files. For information on resubmitting see How do I change an assignment in Canvas?

Last Updated: March 02 2020 @17:12:03