Q6: Scenario Mashup

Table of Contents


Objectives

  • Work with other guild members to develop a game.
  • Mix an actor class with other actors in your guild.
  • Implement animation in multiple Actor classes.
  • Publish a guild 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:

  • This is a guild quest that you must complete with the rest of your guild members.
  • You must craft (code) some parts of the scenario solo but the completed project must be a guild effort.
  • You may copy small portions of the code from the textbook or the instructor's web pages.
  • You are encouraged to review your code with other guild members for suggestions.
  • 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 a classmate to type code for you or show you code to copy.

Project Crafting Specifications

As a guild, create a mashup of your quest scenarios. Decide within the guild the background of the scenario world and the name of the scenario. Work with your guild members to finalize your scenario following the specifications below.

Solo Requirements

  1. Each guild member chooses a single major Actor subclass from their previous or current quest scenarios and adds the character to the mashup world as either a player character (PC) or non-player character (NPC), as agreed to by the guild.

    Other minor actors may be added to the scenario but are not counted in the grading.

  2. Each guild member documents their work in the class file as instructed in lesson 2.4.4.

    Make sure the @author field contains both your first and last name, and only your name, in the file comment block of your selected Actor to receive credit.

  3. Every guild member's solo actor must have at least three user-defined methods or constructors in addition to act().
  4. In addition, each guild member's solo actor must call the following methods:
    1. Either Actor method move() or setLocation()
    2. Either Actor method isTouching() or getOneIntersectingObject()
    3. Either Actor method removeTouching() or the World method removeObject() called from within an actor.
    4. Greenfoot method playSound()
    5. Either Greenfoot method getRandomNumber() or isKeyDown(). Call isKeyDown() if the character is a player character under user control or call getRandomNumber() if the character is a non-player character.

      Any substitutions must be approved by the instructor in advance in writing.

  5. Every guild member must write a method named updateImage() for their chosen actor that alternates 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. The updateImage() method must in turn call the getImage() and setImage() methods.

  6. In addition, each guild member must add two or more private GreenfootImage instance variables to their chosen actor character and assign each variable a GreenfootImage object using "new".
  7. Each guild member must add a constructor to their chosen actor that assigns a GreenfootImage object to each instance variable added in the previous step.
  8. Every guild member must add an if-else statement to their chosen actor.
  9. Every guild member must use one or more logical operators in their chosen actor.
  10. Every guild member must add a call to an addScore() method from their chosen actor to the world subclass.

    The addScore() is added to the world by the guild.

Project Crafting Guild Specifications

All guild members potentially receive the same credit for these specifications.

  1. Create a scenario and World subclass to which all the solo actors prepared by guild members will be added.

    Name your scenario world something besides BugWorld, CrabWorld, Bloodstream or ScrollWorld.

  2. As a guild, add code to automatically populate the world, finalize the gameplay and develop a scoring scheme (how many points for what event).
  3. In addition, add a scoring method named addScore() to the world and display the score using showText().

    Be careful of the spelling, including capitalization, everyone in the guild will lose points for a misspelled name. In addition, describe the scoring scheme (how many points for what event) in the Scenario Information (README.TXT) file.

  4. As a guild, make sure the entire project compiles and functions.
  5. Choose one or more people in your guild as the "publisher" who will publish the guild scenario on the Greenfoot website with the tag cabrillo-guild.

    Include the project name in the project name field on the Greenfoot site and make sure your guild name is included in the description. Make sure the Greenfoot site describes how to play your scenario.

  6. Update the README.TXT file (Scenario Information) of the guild scenario and include the following LABELS and information:
    1. Fill out the usual fields like:
      PROJECT TITLE: JumbledGames
      PURPOSE OF PROJECT: Play to learn.
      VERSION or DATE: 0.7  8/5/2016
      HOW TO START THIS PROJECT: Press the Run button.
      
    2. For the AUTHORS field, list the first and last names of all the guild members together with the chosen Actor class that each guild member crafted solo. For example:
      AUTHORS: Phoenix Guild
      Ed Parrish:  Dragon class
      Emma Programmer:  Hero class
      ... (other guild members and their Actor class listed as well)
      

      If a guild member did not add an Actor to the project, list "None" for the actor class name.

    3. One or more URLs for the guild project published on the Greenfoot site. for example:
      URL: http://www.greenfoot.org/scenarios/11412
      
    4. The current status like:
      STATUS: It all worked!
      
  7. Choose one person in your guild as the "submitter" who will submit the final project from which everyone is graded.

    The submitter ensures that all the parts are combined correctly, zips the folder and submits the project into the Q6 quest slot of Canvas as explained in the section of this document: Deliverables.

Project Extra Credit

Adding the following are worth extra credit points:

  1. Use a loop to populate the scenario world. (2 points for each guild member)

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.

Solo Actor Evaluation

  • 10: Solo actor added to scenario
  • 2: Solo actor properly documented in the file comment block.

    The @author field contains both your first and last name, and only your name, in the file comment block of your chosen actor

  • -1: Missing at least three user-defined methods or constructors in addition to act().
  • -1: Missing call to either Actor method move() or setLocation()
  • -1: Missing call to either Actor method isTouching() or getOneIntersectingObject()
  • -1: Missing call to either Actor method removeTouching() or the World method removeObject().
  • -1: Missing call to Greenfoot method playSound().
  • -1: Missing call to either Greenfoot method getRandomNumber() or isKeyDown().
  • -1: Missing code for method updateImage().
  • -1: Missing call to method updateImage().
  • -1: Missing two or more private GreenfootImage instance variables and assigns each variable a GreenfootImage object using "new".
  • -1: Missing a constructor that assigns a GreenfootImage object to each instance variable added in the previous step.
  • -1: Missing has an if-else statement.
  • -1: Missing uses one or more logical operators.
  • -1: Missing call to addScore() method of the World subclass.

Guild XP Evaluation

  • 3: Project compiles with no errors and scenario works well with no observed glitches.
  • 2: World class automatically populates the scenario
  • 2: Scenario world has an addScore() method, scoring is described in the README.TXT file and works as described
  • 2: Scenario is uploaded to Greenfoot Gallery and the URL is listed in README.TXT.
  • 1: README.TXT file has the usual LABELS and the label fields are filled out.
  • 2: All guild member names are listed in the README.TXT with their selected Actors, or "None" if the guild member did not add an Actor to the project.
  • -12: No reported contribution to the project.

Maximum Score: 24, plus extra credit

Deliverables

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

  1. Choose one person in your guild as the "submitter" who will submit the final project from which everyone is graded.
  2. The submitter ensures that all the parts are combined correctly, zips the folder and submits the project into the Q6 quest slot of Canvas.

    Do NOT submit solo versions of the project as the last submission by anyone in the guild will be counted as the final version for the entire guild.

  3. As a guild or guild submitter, submit the project following these steps:
    1. Create a folder named "project" (no extra characters) and place the guild's final Scenario Mashup Project into this folder.
    2. Create a zip file containing the project and submit the zip file to the Q6: Scenario Mashup 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 your quest files.

Home | Canvas | Schedule | Syllabus | Room Policies
Help | FAQ's | HowTo's | Links
Last Updated: October 20 2017 @00:34:44