• 大小: 69KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Java
  • 标签:

资源简介

基于Java的坦克大战游戏(含代码和报告)

资源截图

代码片段和文件信息

import java.awt.* ; 
import javax.swing.* ; 
import java.awt.event.*; 
import java.util.EventListener;

public class HsTank2 extends Jframe { 
HsTank2(String title) { 
this.settitle(title) ; 
this.setSize(608  630) ; 
this.setLocation(300  100) ; 
this.setBackground(Color.WHITE) ;
MyTank mp = new MyTank() ; 
this.add(mp) ;
this.addKeyListener(mp) ;
new Thread(mp).start() ; 

public static void main(String[] args) 
{
HsTank2 h = new HsTank2(“坦克大战(版本1.0)“) ;
h.setVisible(true) ; 

}

//主战坦克 
class MyTank extends JPanel implements KeyListener  Runnable {

int x = 280 y = 280 ;//坦克的初始位置 
int op = 1 ;//坦克的移动方向 
int color = 0 ; 
int tankspeed = 8 ;//坦克的速度 
int tankbullet = 8 ;//坦克的子弹速度 
int tankfbullet = 4 ;//敌军的子弹速度 
int shengming = 100 ;//生命 
int fenshu = 0 ; 
int nandu = 5 ; //设置游戏难度

//子弹 
int dx = 295  dy = 295 ; 
int dx1 = 295  dy1 = -10 ; 
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[] dxf = new int[num] ; 
int[] dyf = new int[num] ;

int[] dxf1 = new int[num] ; 
int[] dyf1 = new int[num] ; 
int[] dxf2 = new int[num] ; 
int[] dyf2 = new int[num] ; 
int[] dxf3 = new int[num] ; 
int[] dyf3 = new int[num] ; 
int[] dxf4 = 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 ; 
}

for (int i = 0; i dxf1[i] = 295 ; dyf1[i] = -10 ; 
dxf2[i] = 600 ; dyf2[i] = 295 ; 
dxf3[i] = 295 ; dyf3[i] = 600 ; 
dxf4[i] = -10 ; dyf4[i] = 295 ; 

}

//主面版 
public void paint(Graphics g) { 
super.paint(g) ; 
this.setBackground(Color.WHITE) ;

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) ;


if(op == 1) { 
g.setColor(Color.red) ; 
g.fillRect(x  y  40  40) ;

switch (color % 6) { 
case 0: g.setColor(Color.blue) ; break; 
case 1: g.setColor(Color.yellow) ; break; 
case 2: g.setColor(Color.red) ; break; 
case 3: g.setColor(Color.orange) ; break; 
case 4: g.setColor(Color.green) ; break; 
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) ; 




g.fillOval(x + 35  y + 5  10  10) ; 
g.fillOval(x + 35  y + 15  10  10) ; 
g.fillOval(x + 35  y

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      22701  2011-07-12 09:53  HsTank2.java

     文件     233472  2012-07-28 18:58  基于Java的坦克大战游戏.doc

----------- ---------  ---------- -----  ----

               256173                    2


评论

共有 条评论