Lab 12: Initial Prototype

Table of Contents


  • Develop an initial prototype for the project.
  • Document all your classes.
  • Prepare the README.TXT for the scenario.

Academic Honesty

Read the Scholastic Honesty Policy and Quest and Lab Integrity policies of the syllabus. Here are some clarifications for this particular lab:

  • This is a solo lab that you must complete yourself but with some guild elements.
  • You may discuss the code with other students for this lab.
  • You must type all the code in your classes yourself and not copy from another student or source.
  • You may get sound files and images from other guild members.
  • Do not put you name as author in files you did not write.
  • Do not copy code from the internet or other sources without attribution. Copying code snippets from the instructor's lesson examples without attribution is allowed.

Solo Crafting Specifications

  1. Make sure you have completed the exercises from lesson 12 as they are submitted as part of this lab.
  2. Complete the Chapter 10 exercises in CodeLab. These are review exercises and you have all the information needed to complete them. If you have questions, please contact the instructor for help.
  3. Create all the planned classes for your assigned subsystem, at least three minimum, and include an initial image for each non-abstract class.

    The classes need not have all of the planned functionality. The classes simply need to exist as placeholders in the scenario.

  4. Document all the classes you wrote by typing into the class file header:
    1. a description of the class
    2. your name as the author, both first and last in order of first last
    3. a version number and/or date
    For example:
     * Superclass of projectiles.
     * @author Ed Parrish
     * @version 1.0  11/07/2016

    If you do not put your name on your work, you may recieve no credit. No class should have more than one person's name as the author. Do NOT put your name on classes you did not write. If you are adapting one of my classes, like Player or GameManager, start from scratch with a new name, copy in only the portions of code you need, then put your name first and mine second. Add some extra code, of course, so that more than half the code is original.

  5. Include a call to one or more Greenfoot collision detection methods in one or more of the classes you wrote.

    This is an important specification to make sure you prepare correctly for the final project requirements. If you do not see a place for collision detection in your classes then you have not allocated the work correctly.

  6. Each guild member must submit a zip file (with all source code) of the entire guild project to Canvas as explained in the section of this document: How to Submit.

    The project files should be the same for all guild members but other lab files will be different.

Guild Crafting Specifications

  1. Once the solo classes are prepared, add all the classes and supporting files (images, sound, and so on) to the guild scenario.
  2. As a guild, ensure that the entire scenario compiles.
  3. Update the README.TXT file (Scenario Information) of the guild scenario to fill in all the usual information like the guild name, project title and version or date. As AUTHORS, put the guild name.
    PROJECT TITLE: Phoenix Platformer
    PURPOSE OF PROJECT: Totally awesome platformer breaking the boundaries.
    VERSION or DATE: 1.0  4/13/2016
    HOW TO START THIS PROJECT: Compile and run.
    AUTHORS: Guild Phoenix
    Move left and right with the left and right "arrow" keys.
    Jump using the spacebar or the up "arrow" key.
  4. In addition, list in the README.TXT the project subsystems, first and last names of the subsystem owner, their subsystem, and the classes of their subsystem. For example:
    Subsystem Classes
    Jumping and running: Paula Programmer
    -Sprite: superclass of game characters that can run and jump
    -Jane: the user-controlled character
    -George: the NPC that must be rescued.
    ... (list rest of guild subsystems, names and classes here)

    If a guild member did not add a class to the project, list "None" for the class names. For an example README.TXT see README-PROTO.TXT.

  5. As a guild, ensure that all classes have a full name (first and last) in the @author field of the file comment block.

    If you are using a class from another source, like Vector, keep the original author's name for attribution, or add the author's name if missing.

  6. Also as a guild, ensure that all the classes are listed in the README.TXT file.
  7. Distribute the initial prototype to all the guild members so they can submit it to Canvas with the rest of their lab.

Grading Criteria

The instructor will evaluate your lab using the following criteria. Thus you should check your lab against these criteria to maximize your XP.

Lesson Exercises (from Class)

  • 2: All lesson exercises attempted and turned in
  • 1: Some lesson exercises not completed and turned in or other problems found
  • 0: No lesson exercises turned in or wrong folder name

CodeLab Exercises

Number completed correctly / number exercises * 4 and rounded up to the nearest integer.

Guild Project Crafting

  • 4: Source code compiles with no errors or warnings
  • 1-3: Source code compiles with warnings
  • 0: Does not compile, not turned in, did not participate, or wrong folder name
  • -1: Has one or more class files with no author
  • -3: Missing files from any other guild member

Solo Crafting

  • 4: At least 3 subsytem class submitted with at least minimal code and correctly documented
  • -1: Per missing subsystem class
  • -1: Per subsystem class missing required information:
    1. a description of the class
    2. your name as the author
    3. a version number or date
  • -1: Missing call to a Greenfoot collision detection method

README.TXT File for Project

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

Maximum XP: 16


The CodeLab due today is submitted automatically, but other lab work must be submitted as described below.

  1. On your computer, create a folder for the lesson exercises named "lesson" (no extra characters) and place the final scenario from Lesson 12 into this folder.
  2. Create a second folder named "project" (no extra characters) and place your initial prototype scenario into this folder.
  3. Create a zip file containing both folders, "lesson" and "project", and submit the zip file to the Lab 12 link in Canvas.

If you have any questions or find an error in the above file lists, contact the instructor right away.

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.

Last Updated: April 30 2020 @18:58:48