---
# System prepended metadata

title: Cartoon Mini Assignment
tags: [Assignments]

---

# **Cartoon Mini Assignment**
:::danger
<b>Due Date: Tuesday, October 15 - Thursday, October 17 in your lab</b>
:::

For this project, you will be completing a check-in with a TA one-on-one to discuss your mini-assignment and anything else about the course or computer science in general that you’d like to talk about. This is a great opportunity to ask questions and to get to know your TAs, so come prepared! **Please be sure to read the ++[Cartoon handout](https://hackmd.io/@Fall2024-CS15/S1otNrRoA)++ carefully before answering these questions.** After your check-in in lab, your TA will check you off if your design is satisfactory.

# Code Checkpoint
* Fill in your **`App`** class to make your project window appear!
* Set up the **`Panes`** for your project in your **`PaneOrganizer`** class
* Get at least one shape to appear on a **`Pane`**.
* Something in your program must respond to key input; it doesn’t need to be your final plan for handling key input!

# Questions
1. Draw a picture of what you want your Cartoon (the whole window, not just the composite shape) to look like. Make sure you draw a big enough and neat enough picture that you can do Question 2 comfortably. **You should lay out your program in [draw.io](https://app.diagrams.net/).** draw.io is a graph layout with the top left corner as 0,0 (same as javafx). This means that when you layout your program in draw.io, you will already know the coordinates and layout. The circles will give you coordinates for the center, and rectangles for the coordinates of the top left corner.
    * This drawing should have all of the components to meet the specifications in the handout, but the drawing is non-binding – feel free to make adjustments to your Cartoon as you code!
2. Add to the drawing from Question 1 by labeling all of the graphical classes (i.e. classes 	from the ++`javafx.scene.layout`++, ++`javafx.scene.control`++, and ++`javafx.scene.shape`++ packages) that you will use for your Cartoon.
    * You might need to use the same label for multiple parts of your picture (e.g. you might have more than one **`Pane`** or **`Circle`** in your Cartoon)
    * Be sure to include labels for classes that don’t appear graphically but are integral to the program’s functionality. (Hint: what class makes your Cartoon move? What class responds to a **`Button`** being clicked?)

4. Using what you wrote in the previous questions, draw the class diagram for your cartoon. 
What is the difference between the **`PaneOrganizer`** and the **`Cartoon`** classes?

If you’re having trouble completing any of the steps, check out the [Helpful Resources](https://hackmd.io/@Fall2024-CS15/S1otNrRoA#Helpful-Resources) section of the Cartoon Handout!
