Q2: First Program

Table of Contents


  • Start crafting your first game or scenario
  • Help you to start thinking more carefully

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 and 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

Complete the following specifications to craft your first scenario.

  1. Develop a new game or simulation (see lesson 2.1.1) that includes:
    1. A new World subclass
    2. One or more Actor subclasses
    3. Images displayed for each Actor and the World background

    Your project must be original code and not a copy of the course examples textbook material, or something from the Greenfoot site. Thus, your world must be something besides LessonWorld, CrabWorld or any other classroom or textbook scenario. Also, your actor must be something besides Hero, BadBug, Crab or any other actor from the classroom or textbook. Choose a scenario idea that you enjoy because you will be expanding on the concept in the next few quests.

  2. Populate your scenario and then invoke the "Save the World" option in Greenfoot.
    Right-click world background ⇒ Save the World
  3. Have at least one of your actors check for world edges using an if-statement and turn when reaching the edge.
  4. Call at least five (5) methods of the Actor superclass (besides act()) from all of your actor subclasses combined.
  5. Fill in the Scenario Information (README.TXT) for your new project by starting with the Greenfoot supplied headings and fill in all the information like PROJECT TITLE, your name for AUTHOR, and a version or date for VERSION OR DATE, as well as providing the current status after the USER INSTRUCTIONS: line.

    Following is an example README.TXT format that is automatically supplied by Greenfoot when you create a new scenario. To access the README.TXT, from the Scenario menu select Scenario Information. Keep this format and fill in the information after the colon (:) on each line.

    This is the project README file. Here, you should describe your project.
    Tell the reader (someone who does not know anything about this project)
    all he/she needs to know. The comments should usually include at least:

Image Resources

Images for your scenario may be from the Internet (where legal and with attribution), from Greenfoot, or original art work.

Project Extra Credit

Adding the following are worth extra credit points:

  1. Use the Greenfoot.getRandomNumber() method discussed in chapter 3 to have one or more of your actors randomly turn as they move. (2 points)

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

Grading Criteria

The instructor will evaluate your quest using the following criteria. Each criteria represents a specific achievement of your quest 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 the interpretation of XP, see the syllabus page.

Project Functionality

  • 10: Demonstrates mastery of the crafting techniques
    • Has extra features or demonstrates techniques beyond the requirements
    • 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 quest
    • 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 quest
    • 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 quest
    • 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: 12, 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 Q2: First Program 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 @22:10:46