For Part 2 of PacMan. Instead of drawing 100 random dots on the screen (as you did in part 1) You will put 100 random dots into a list of object: You make class to hold the dot, and the class will contain an x-position, a y-position, and a boolean (True or False) to represent whether the dot is visible. You will then draw the Dots from the list, and draw your Pac-Man (as you did in Part 1). Now when you press the arrow keys, PacMan should move around, up, down, left, right. You will store the xpos and ypos of the PacMan. When the up arrow is hit, you'll decrease the ypos by a little bit. Down arrow increases ypos. Right arrow increases xpos. Left arrow decreases xpos. Every time Pacman moves, PacMan's position is compared to the dots positions. If PacMan and a dot intersect, then the dot's visibility becomes False. Although this may be slow, the easiest way to deal with the dots is to clear the screen, redraw those dots whose visibility is true, and then redraw the PacMan. To tell when PacMan has eaten a dot: If the distance between the centers of PacMan and the dot is LESS THAN OR EQUAL TO the sum of the radii of PacMan and the dot, then the circles intersect, and the dot is eaten. The distance between the centers of the circles: Math.sqrt ( (xpos1-xpos2)^2 + (ypos1-ypos2)^2 ). REVERSE POLISH NOTATION: 3+5x3 = 18 (3+5)x3 = 24 Lukashevicz Number op number is too confusing and ambiguous. He preferred op number number. + 3 x 5 3 = 18 x + 3 5 3 = 24 No ambiguity; no need for parentheses. 3 5 3 x + = 18 3 5 + 3 x = 24 This was called Reverse Polish Notation