Q14: Final Project

Table of Contents


  • Continue working as a guild.
  • Develop a complete and "final" scenario.
  • Meet the final requirements of the project.
  • Present the project as a guild.

Academic Honesty

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

  • You are expected to work with your guild to develop a complete and "final" scenario.
  • Do not copy code from the Internet or other sources without attribution. You may use helper classes from other sources, such as the instructor or Internet, but must attribute the code to the originator. Copying code snippets from the instructor's lesson examples without attribution is allowed.
  • Within your guild, you are expected to help each other develop code, artwork, music and sound according to your abilities.
  • Any code with your name on it must be original work. Guild members may help each other and show each other code developed for the final project. However, you must be able to explain and reproduce all code within your subsystem.
  • You may get help from people other than your guild members if you get stuck, but only if they do not show or tell you the code to type. Instead they should show you other examples that you can adapt to your code.
  • You may get help from people other than your guild members on non-code aspects of the project but must attribute their work.

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 Java code for you or show you Java code to copy. Instead the classmate should show you techniques using other examples that you can adapt.

Final Project Specifications

This is the final version of your fully documented project. At this time the guild should have a fully functional project meeting the final specifications. Your part is to complete the Solo Specifications for your subsystem classes and work with the guild to complete the Guild Specifications. Remember that the completed project must meet originality requirements.

Solo Specifications (30)

  1. Write three or more original functional classes for which you are the primary coder (most code written). Construct one or more objects from each of your original classes and make use of the objects from all classes in a meaningful way. (6)

    Note: Though you may make use of classes from lessons or elsewhere, you may not claim to be the primary author even with code modifications. See Academic Honesty above.

    1. Update the README.TXT file so it includes your classes with their current status.
    2. Ensure that every one of your classes has a file comment block with your name in the @author field before the class signature. If there is more than one author, list the primary author (coder) first. You must use the following format for full credit.
       * Superclass of projectiles.
       * @author Emma Programmer, Wally Wishewur
       * @version 1.0  05/01/2016

      For the above authors, Emma Programmer is the primary coder who did most of the work and Wally Wishewur is a secondary author who made some small contributions or changes. You must include the @author tag for full credit.

  2. Implement at least one overloaded constructor. (2)
  3. Implement at least one overloaded method (NOT constructor). (2)
  4. Declare at least one array variable, and then fill and access the array. (2)
  5. Display at least two animations using images that are each stored in their own array of GreenfootImage objects. (2)
  6. Code at least one static method to load images named initializeImages(). (3)
  7. Call setImage() at least one time. (2)
  8. Call at least one of the Greenfoot collision detection methods in a meaningful way. (2)
  9. Directly play at least one sound. (1)
  10. Make use of the following control statements:
    1. if or if-else (1)
    2. while, do-while loop (1)
    3. for loop (1)
  11. Make a cast to a World subclass. (1)
  12. Create a specs-first-last.txt where first is your first name and last is your last name(s) respectively. For example, Ed Parrish would make a file named specs-ed-parrish.txt. In this file, list your solo coding accomplishments and attributions. For the classes in which you are the main author, list the spec number, filename and line number showing where you met the above specifications. Send your file to the "submitter" to ensure the file is included in the project. In addition, bring a paper copy to the class presentation. (4)

Guild Specifications (18)

  1. Complete the README.TXT (Scenario Information) file as follows (2):
    1. Verify the file contains the tags PROJECT TITLE, AUTHORS and USER INSTRUCTIONS with their associated information. As AUTHORS, put the guild name.
    2. Update the lists of the project subsystem by guild member name (first and last name) and the class files for which the guild member wrote the majority of the code, along with a completion status of each class.
  2. Add in-game instructions to your scenario that either: (2) *
    1. display before the game starts, or
    2. has in-game instructions and a Title Screen explaining how to access instructions
  3. Present the project as described below. (4) *
  4. Demonstrate the project compiles during the presentation. (2) *
  5. Demonstrate that each member's part of the project functions as intended within the whole project. (8) *

* Must present with the Guild for credit.

Final Project Presentation

The entire guild is required to demonstrate their project on the scheduled day to the entire class. The guild decides how to present the project, but all members must participate. The following is the suggested presentation flow:

  1. State your guild member names and your project's name.
  2. Briefly state the scenario's purpose.
  3. Show the source code compiles.
  4. Demonstrate the scenario, explaining features and who wrote them as you go.

    Point out as many of the cool features as possible so we can all admire them. Show the file that your program reads from.

  5. Summarize the project.

    When the demonstration is over, or your time is up, quickly summarize the project's purpose. Then pause for about 10 seconds to give us a chance to applaud!

Project Extra Credit

The following are worth extra credit points if completed as specified.

Solo Extra Credit

The following are worth extra credit points for each solo member who codes them in a file for which the guild member is the primary author. List the guild member name, file and line number for each extra credit item. As usual, extra credit is only given if your project compiles and runs.

  1. Get a List of objects and process the list in a loop. (2 points)
  2. Implements one or more Button components from lesson 14.2.3 in the project. (2 points)
  3. Collect player input in the project using the Greenfoot ask() method. (2 points)
  4. Play sounds using a GreenfootSound object. (2 points)
  5. Makes use of the Greenfoot UerInfo class to store and retrieve data. (2 points)
  6. Use your imagination and code Java features not covered in this course -- be sure to clearly identify your creative features, and their line numbers, in your report. (0 to 4 points)
    1. 0: Extra credit feature is trivial or does not work
    2. 1: Extra credit is simple and works
    3. 2: Two simple extra credit features or one complex or imaginative use of a feature
    4. 3: Three simple features or one simple features and one complex or imaginative use of a feature
    5. 4: Four simple features, two complex or imaginative use of a feature, or some combination

Make certain that your specs-first-last.txt file lists any extra credit attempted and the file name and line number of the extra credit where appropriate. Without the file name and line number I may not see the extra credit.

Guild Extra Credit

  1. Publish the guild's scenario on the Greenfoot Gallery with the tag cabrillo-guild and include the URL in the scenario's README.TXT file. (2 points for each guild member if the scenario runs well)

    Remember to keep sound and image files small or you will not be able to publish. The maximum size for the entire project is currently 20MB. Hint: use MIDI or MP3 with medium or higher compression for sound files.

    When publishing, include a scenario title, short description and instructions for using the scenario.

  2. Extra credit applied at end of final project by secret ballot during class:
    1. Guild Leader: 20 pts. (major player in the guild; gets things done)
    2. Raid Leader: 15 pts. (major contributor to the guild and its projects)
    3. Solid Guild: 10 pts. (could be counted on to do their part, but not more)
    4. Needs Rez: 5 pts. (coasting, minimal effort, needs resurrection as a player)
    5. Leeroy Jenkins: 0 pts. (Usually AFK or minimal contribution)

    Each voter can designate only one guild leader. Please vote thoughtfully.

Grading Criteria

The instructor will evaluate your project 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 Project Specifications

Points as shown in parenthesis for each requirement listed in the Solo Specifications with the following clarifications. (30 points)

File specs-first-last.txt

  • 4: Information is accurate, complete and clearly labeled with attributions.
  • 3: Minor information discrepancy, missing minor details or vague information, label or attribution.
  • 2: Late, missing paper copy, or missing some significant information, details, labels or attributions.
  • 1: Submitted file but multiple problems with information, details, attributions or organization.
  • 0: Not submitted or incomprehensible.

Guild Project Specifications

Points as shown in parenthesis for each requirement listed in the Guild Specifications with the following clarifications. (18 points)

README.TXT File for Project

  • 2: README.txt file submitted that accurately describes the current state of the project and the progress you have made.
  • 1: README.txt submitted with some information but not all.
  • 0: README.txt not filled out, is missing or no paper copy provided.
  • 0: Did not participate with your guild.

Program Compilation (as demonstrated during the presentation)

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

Final Project Demonstration

  • 4: Project demonstrated in class at the assigned time.
  • 2: Project demonstrated at the assigned time but missing paper copy of README.TXT and specs-first-last.txt
  • 0: Project not demonstrated during class.
  • 0: Did not demonstrate with your guild.

Functionality (as demonstrated during the presentation)

  • 8: Functions without error meeting all specifications and demonstrating extra features.
  • 6: Functions without error while meeting all specifications.
  • 4: Has a small error but otherwise meets all requirements.
  • 2: Has some of the functionality expected.
  • 1: Serious functional problems but shows some effort and understanding
  • 0: Does not execute, was not demonstrated by the specified time, or did not contribute any files to project.

Maximum Score: 46, plus extra credit


Follow these instructions carefully and exactly to turn in your quest (assignment) 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.

    Do NOT submit solo versions of the project as the last submission will be counted as the final version for the entire guild. Submit only the latest version of the project--NOT old versions.

  3. As a guild or guild leader, submit the project following these steps:
    1. Create a folder named "project" (no extra characters) and place the guild's Final Project into this folder.
    2. Outside of the "project" folder, add the specs-first-last.txt document of all guild members in plain text (.txt) format.
    3. Create a zip file containing the project and all the specs-first-last.txt files.
    4. Submit the zip file to the Q14: Final Project slot of Canvas.
  4. Other guild members are responsible for verifying that the submitted work is correct.

Please do not put any spaces or special characters like #, : or $ in zip file or folder names. Your project must work as submitted. Remember to test and double check your files before submitting them. If you make a mistake, you can resubmit up to the deadline but must resubmit all your assignment files.

Last Updated: May 12 2020 @03:46:55