Assigned: Monday, March 2, 2020,
Due: Wednesday, 3/18/2020 - extended until Monday, 3/23/2020 Wednesday, 3/25/2020 at 1:30pm.

The goal of this assignment is to add input handling to your retained object model. This will allow the mouse the be used to manipulate the graphical objects. As discussed in lecture, input is one of the least-researched and most difficult parts of toolkits, so you will be implementing the Garnet-Amulet "Interactor" model, which might better be called a "behavior object" model.

(NOTE: You are allowed to use a different input model if you want to design a new one. Please discuss this with the professor.)

Requirements

The requirements for your implementation include:

Extra Credit

For extra credit, you can implement specialized selectable objects, more behaviors, or more parameters to your behavior objects. Here are some ideas.

Selectable objects:

Interactors:

Events

Readme file

Please include a readme file in .doc, .txt or .pdf format (note: not .md format) that explains how your behavior system works and how to use it. This document must describe:

I anticipate that this will only take a page or two, so it shouldn't be a big time sink.

Detailed Specifications

If you have questions about this homework, it is best to post them on the class Piazza page, and then I will answer the questions for everyone. Be sure to mention which language you are using.

There are two versions of the specifications for this homework - one in Java and one in JavaScript. They should be approximately identical, but you should use the one for the language you are using. Note you need to use the same language for all of homeworks 2 through 5.


Back to Homework Overview
Back to 05-830 main page