//mdm April 2001 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CannonGamePanel extends JPanel { public CannonGamePanel(Integer theta) { setAngle(theta.intValue()); } public static final int PanelWidth = 600; public static final int PanelHeight = 400; private Cannon cannon = new Cannon(new Point(20, PanelHeight - 10)); private CannonTarget target = new CannonTarget(new Point(PanelWidth - 100, PanelHeight - 10)); private Ball aBall; private String message; public void paint (Graphics g) { super.paint(g); cannon.paint(g); target.paint(g); if(aBall != null) aBall.paint(g); g.drawString(message, PanelWidth/2, PanelHeight/2); } private void moveCannonBall() { aBall.move(); if (aBall.y() > PanelHeight-14){ if (target.hitTarget(aBall.x())) message = "You Hit It!"; else message = "Missed!"; aBall = null; } } public void run(){ if(aBall != null) moveCannonBall(); repaint(); try{ Thread.sleep(50);} catch(Exception e) {System.exit(0);} } public void fire() { aBall = cannon.fire(); } public void setAngle(int angle){ cannon.setAngle(angle); message = "Angle: " + angle; repaint(); } }