Assignment 07

Project 07a. Different Flavors of Buttons.

Due Monday 10/15. Visit “Painting with Interactive Pixels” (PIP) by Dag Svanaes. (Caution, this applet is very old (1998!) and may not work properly in some browsers.) In a single interactive applet with a gray background, create ten square “buttons”. In these ten regions, implement all ten of Dag’s interactive paint types. Observe how several of his paints are irreversible, while others are reversible. Note: you will need to use both the mousePressed() and mouseReleased() event handlers. Label your buttons using Dag’s icons, e.g. ⇊, ⇈, etcetera.

  • Extra Credit 1. Use circles instead of squares. Only clicks inside the circle should have an effect. Hint: use Ancient Greek technology devised more than 2000 years ago, or, if you prefer, the dist() function.
  • Extra Credit 2. Implement a general point-in-polygon test so that the buttons can have any shape. Code fragments for the point-in-polygon test are easy to find, and you shouldn’t need to write this yourself; in a comment in your code, be sure to cite the source URL of your implementation. Make and test some unusually-shaped buttons.

Project 07b.  Breakout Mod.

Due Monday 10/15. It’s time to get your hands dirty with some freestyle experimentation. In 2007, Steph Thirion developed a “six hour long workshop with the objective of showing the participants that it is not required to understand code to experiment and play with it. […] Although they had no experience in coding, the task of each participant was to make a mod (modified version)” of a Breakout game written in Processing. Now it’s your turn. Get deep into this code and make it yours! Add, remove, or modify anything you please. It does not need to still be a game when you’re done messing with it.

Note that the project has several PDE files, each of which gets its own tab in the IDE. It’s possible that you’ll have to export this project as a Java applet, I’m afraid, but try Processing.JS first. Be careful to upload all of your source code in the .zip to OpenProcessing.

Posted in