Q3: Methodical Improvement

Table of Contents


  • Apply randomization to your scenario
  • Organize your code into methods
  • Use keyboard user input in a scenario
  • Play sounds in a scenario

Academic Honesty

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

  • This is a solo quest that you must complete all the crafting (coding) individually.
  • You may copy small portions of the code from the textbook or the instructor's web pages.
  • Do NOT copy or modify code from, nor provide code to, any other student or unauthorized source.

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 quest by completing the following specifications. 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.

  1. Make certain that your project meets the specifications of the last assignment and correct any problems.
  2. To your project from the last assignment, add random movement to at least one actor that calls the Greenfoot getRandomNumber() method.

    If you prefer, you may start a new scenario as long as the scenario meets all the specifications of the last assignment (like original characters) and this assignment.

  3. Declare and assign values to at least two variables in one of your actor subclasses.
  4. Code at least one if-statement with relational operators in your scenario.
  5. Develop an interaction between at least two types of objects in your scenario, calling both of these methods of the Actor superclass:
    1. isTouching()
    2. removeTouching()
  6. Organize your scenario code by writing and calling at least five (5) original methods besides act() or prepare().

    Add these methods to original classes and not a builtin Greenfoot class.

  7. Add keyboard controls for the player (user) of your scenario by using the Greenfoot isKeyDown() method for at least one actor.
  8. Play at least two sounds in your scenario using the Greenfoot playSound() method.

    Please keep sound files small (< 1 MB).

  9. Call the Greenfoot stop() method when your scenario ends.
  10. 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.
  11. 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. Add a private instance variable to an actor or world subclass named score that keeps track of the score. Then use the showText() method of World to display the score. (2 points)

Make certain that your 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 Compilation

  • 4: Source code compiles with no errors or warnings
  • 2: Source code compiles with warnings
  • 0: Does not compile, not turned in, or wrong folder name

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 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
    • 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
    • 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
    • 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
    • Has a major error or many minor errors
    • Implementation seems very convoluted
    • Demonstrates few techniques from the lesson
  • 0: Does not execute, no specifications met, or wrong folder name

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: 16, plus extra credit


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

  1. Create a folder named "project" (no extra characters) and place your complete programming project into this folder.
  2. Zip the folder and submit the zip file to the Q2 assignment slot of Canvas.

Please do not add any extra characters to the above folder names. Also, 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 the files. For information on resubmitting see How do I change an assignment in Canvas?

Home | Canvas | Schedule | Syllabus | Room Policies
Help | FAQ's | HowTo's | Links
Last Updated: September 25 2017 @21:54:21