📄 cannongamepanel.java
字号:
//mdm April 2001import 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(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -