CS 139 Algorithm Development
PA0: Making interactive art or games with Scratch

Due: Tuesday, Jan 27 at 11:59 PM

Objectives

The students will:

Instructions

Now is your chance to shine! You have already introduced yourself with the "about me" exercise or created a "dance party" with multiple sprites, and learned about several programming constructs. In this assignment, you will create an original work of interactive art or an interactive game. Viewers should be able to participate with your artwork using at a minimum the four arrow keys:

It's up to you where to handle arrow key events: in a single sprite, in multiple spites, on the stage, all of the above, or something else. Your project should also include some aspect of random behavior, for example:

Random numbers can be used in Scratch in place of any regular number (i.e., whenever there's a rounded placeholder in a block). You can even pick a random number between two random numbers!

Refer to the "Arts" handout for a list of other recommended blocks.

Minimal Requirements - 80 points

Your project must contain the following elements (at a minimum):
  1. Three or more sprites that change costumes or appearance
  2. Different interactions for each of the four arrow keys
  3. An if-else block inside of a loop (e.g., forever or repeat)
  4. Use of random numbers (but don't randomize everything)
  5. Some original drawing, either with sprites or pen block.

Be Creative - 20 points

You can design any project you like as long as it satisfies the above requirements. And just for fun, consider adding an Easter Egg.

Consider any or all of the following:

  1. Additional key behavior.
  2. Interaction with the user (game behaviors) above the listed 4 key behaviors.
  3. Telling a story or performing a play.
  4. Creative use of audio or photographs. NOTE: if you use audio or photographs that you did not create yourself, you must acknowledge them in some way in the project itself and must document the source in the deliverable document. See below for clarification.
  5. All elements of the project should be related. Having random sprites doing random things will not gain you creativity points. Have a point or a theme to your project.

Deliverables

Submit the following via Canvas:
  1. A plain text document (template.txt). In it you should include:

  2. A representative screenshot of your artwork.
    Right click the stage and select "save picture of stage..."

  3. Your Scratch project file itself.
    Note that Scratch embeds any images/sounds you add.

Your files must be named pa0.txt, pa0.gif OR pa0.png, and pa0.sb2.

Attach these files separately to your submission (please do not zip them). Canvas will attach your name to the files when they are downloaded.

In the Canvas comment for this assignment, indicate if you do not want your artwork shared with the class. Otherwise, I will assume that it is fine to post your work for the class to enjoy.

Honor Code

This assignment should be viewed as a take home exam. Your submission must conform to the JMU Honor Code. Authorized help is limited to the lab handouts, the TAs for any CS139, CS149 or CS159 section, and the professor. Copying work from another student or the Internet is an honor code violation and will be grounds for a zero on the assignment or worse if you have any prior violations. If you make use of images, audio, or code from another source, you must acknowledge that in some way in your project (maybe a "splash screen" as the project opens) and must also be acknowledged in the project description.

Acknowledgement

This PA is based on a PA developed by Dr. Mayfield.