Abhishek Iyer CSCI 511 Lab 2 This is my lab 2 submission. I have included the object model,the source code, the Javadocs, this readme file, and embedded the applet I have made a game which I call Breakout. Its based on the famous arcade game of breaking bricks, by bouncing the ball of a paddle.My applet can be completely controlled by the mouse. To START the game, click the mouse and move it. The ball which is initially in the centre of the screen will come down. Move your mouse to control the movement of the paddle. If the ball misses the paddle and hits the ground, the game ends.If you consume all the bricks then you have won the game. Producer : The role of the producer is being played by the paddle by SHOOTING BULLETS.CLICK to start shooting. As you shoot you can see new bricks being formed above the bricks that were initially present. Consumer : The ball plays the role of the consumer. Whenever the ball comes in contact with any brick. It consumes the brick. Contention : All the bricks together make up the shared resource. I have set the maximum capacity of the shared resource to be 100. This means that the applet cannot have more than 100 bricks. So even if the user keeps clicking to produce bricks, if the number of bricks on screen is greater than 100. This producer thread goes into a wait state and as soon as the ball has consumed some bricks and the total number of bricks goes below 100 then the bricks are created. Notes : 1. I observed that the applet ran into some issues on google chrome. I would request you to try running the lab on Mozilla Firefox. If even that doesn't work like during the presentation please run it on the applet 2. I also noticed certain abnormalities on smaller computer screens. It would be great if you tested the program on screens that are slightly big. References : 1. Oreilly course materials for threads 2. My own lab1