坦克大战程序代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c l a s s f e x t e n
d s J F r a m e{ f(String title) {
this.setTitle(title) ;
this.setSize(608 , 630) ;
}
h.setVisible(true) ;
}
}
//主战坦克
class MyTank extends JPanel implements KeyListener , Runnable { int x = 280, y = 280 ;//坦克的初始位置
int op = 1 ;//坦克的移动方向
int color = 0 ;
//
int dx2 = 600 , dy2 = 295 ;
int dx3 = 295 , dy3 = 600 ;
int dx4 = -10 , dy4 = 295 ;
//敌军坦克
int num = 10 ;//敌军坦克数量,不能修改int[] xf = new int[num] ;
int[] yf = new int[num] ;
int[] opf = new int[num] ;
int[] dyf4 = new int[num] ;
//构造函数,初始化敌军坦克的位置和状态MyTank() {
for (int i = 0; i xf[i] = (int) (Math.random() * 560) ; yf[i] = (int) (Math.random() * 560) ; dxf[i] = xf[i] + 15 ; dyf[i] = yf[i] + 15 ; } } } // public void paint(Graphics g) { super.paint(g) ; this.setBackground(Color.YELLOW) ; g.setColor(Color.red) ; g.drawString("生命:" , 10 , 20 ) ; g.fillRect(50 , 10 , shengming * 5 , 10) ; g.drawRect(50 , 10 , 500 , 10) ; g.drawString("得分: "+ fenshu , 10 , 40) ; case 5: g.setColor(Color.black) ; break; } g.fillOval(x - 5 , y - 5 , 10 , 10) ; g.fillOval(x - 5 , y + 5 , 10 , 10) ; g.fillOval(x - 5 , y + 15 , 10 , 10) ; g.fillOval(x - 5 , y + 25 , 10 , 10) ; g.fillOval(x - 5 , y + 35 , 10 , 10) ; g.fillOval(x + 35 , y - 5 , 10 , 10) ; case 2: g.setColor(Color.white) ; break; case 3: g.setColor(Color.white) ; break; case 4: g.setColor(Color.white) ; break; case 5: g.setColor(Color.white) ; break; case 6: g.setColor(Color.white) ; break; case 7: g.setColor(Color.white) ; break; case 8: g.setColor(Color.white) ; break; case 9: g.setColor(Color.white) ; break; case 19: g.setColor(Color.black) ; break; } g.fillOval(x + 5 , y + 30 , 10 , 10) ; g.fillOval(x + 25 , y + 30 , 10 , 10) ; } if(op == 2) { g.setColor(Color.green) ; g.fillRect(x , y , 40 , 40) ; g.fillOval(x + 5 , y - 5 , 10 , 10) ; g.fillOval(x + 15 , y - 5 , 10 , 10) ; g.fillOval(x + 25 , y - 5 , 10 , 10) ; g.fillOval(x + 35 , y - 5 , 10 , 10) ; g.fillOval(x - 5 , y+35 , 10 , 10) ; g.fillOval(x + 5 , y+35 , 10 , 10) ; g.fillOval(x + 15 , y+35 , 10 , 10) ; g.fillOval(x + 25 , y+35 , 10 , 10) ; case 5: g.setColor(Color.white) ; break; case 6: g.setColor(Color.white) ; break; case 7: g.setColor(Color.white) ; break; case 8: g.setColor(Color.white) ; break; case 9: g.setColor(Color.white) ; break; case 10: g.setColor(Color.black) ; break; case 11: g.setColor(Color.black) ; break; case 12: g.setColor(Color.black) ; break; g.fillOval(x , y + 25 , 10 , 10) ; } if(op == 3) { g.setColor(Color.blue) ;