网站建设资讯

NEWS

网站建设资讯

包含java坦克大战墙代码的词条

坦克大战,用eclipse编程 怎么用代码添加墙壁

用二维数组

我们一直强调成都网站建设、网站制作对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站建设公司不一定是大公司,创新互联建站作为专业的网络公司选择我们就是放心。

int[][] iAry = {{ 1,0,1.0,0,1,0,1},

{ 1,0,1.0,0,1,0,1},

{ 1,0,1.0,0,1,0,1},

{ 1,0,1.0,0,1,0,1}

{ 1,0,1.0,0,1,0,1}

{ 1,0,1.0,0,1,0,1}};

0代表空白(即黑色).1代表墙身(红砖)

一个数组数,绘画墙身的图片固定大小 例如:红砖比例 32*32 :宽32 高32,每画一个图就*32,就能对齐位置了----太详细不好说,自己动动脑

至于你说的子弹碰撞 , 你记录子弹当前位置POS,当子弹POS到达该墙身,就把子弹消除,墙身在iAry中1的值设置为0, 绘画处检测到iAry[i][j] ==0 了,就画空白啦. 明白?

java坦克大战源代码 怎么导入

坦克大战源代码应该是个完整的项目吧。

对于完整的带项目配置文件的java源码,按步骤操作即可:

File - Import - General

选择Existing Projects into Workspace,选择要导入的文件,点击“finish",OK。

JAVA 坦克大战

import java.awt.*;

import javax.swing.*;

public class Tank extends JFrame {

mypane mp=null;

Obj[] objs=new Obj[0];

public Tank() {

setTitle("坦克大战");

setSize(800,600);

pro();

add(new mypane(objs));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

//在这里添加键盘事件、鼠标事件、让坦克移动,修改objs数组对象让他们移动

setVisible(true);

}

private void pro(){

Obj[] tmp=new Obj[objs.length+1];

System.arraycopy(objs,0,tmp,0,objs.length);

tmp[tmp.length-1]=new Obj(1,1,0,1);

objs=tmp;

int num=(int)(Math.random()*5)+1;

for(int i=0;inum;i++){

int x=(int)(Math.random()*getWidth())+1;

int y=(int)(Math.random()*getHeight())+1;

int dir=(int)(Math.random()*4);

Obj[] dst=new Obj[objs.length+1];

System.arraycopy(objs,0,dst,0,objs.length);

dst[dst.length-1]=new Obj(x,y,1,dir);

objs=dst;

}

}

public static void main(String[] args) {

new Tank();

}

}

class Obj{

int x,y;//坦克坐标

int type;

int dir;

public Obj(int x,int y,int type,int dir){

this.x=x;

this.y=y;

this.type=type;

this.dir=dir;

}

}

class mypane extends JPanel{

Obj[] objs;

public mypane(Obj[] objs){

this.objs=objs;

}

public void paint(Graphics g) {

super.paint(g);

for(int i=0;iobjs.length;i++){

Obj obj=objs[i];

drawtank(obj.x,obj.y, g, obj.type, obj.dir);

}

g.dispose();

}

public void drawtank(int x,int y,Graphics g, int type,int direct) {

/*type 为坦克类型,敌方,我方*/

switch(type) {

case 0://我方坦克,设置为红色

g.setColor(Color.red);

break;

case 1://敌方坦克,设置为蓝色

g.setColor(Color.blue);

break;

}

switch(direct) {

case 0://坦克方向朝上

g.drawRect(0+x, 0+y, 5, 30);

g.drawRect(5+x, 5+y, 10,20);

g.drawRect(15+x,0+y, 5,30);

g.drawLine(10+x, 15+y, 10+10+x, 15+y);

break;

case 1://坦克方向朝右

g.drawRect(0+x, 0+y, 30, 5);

g.drawRect(5+x, 5+y, 20, 10);

g.drawRect(0+x, 15+y, 30, 5);

g.drawLine(15+x, 10+y, 30+15+x, 10+10+y);

break;

case 2://方向向下

g.drawRect(0+x, 0+y, 5, 30);

g.drawRect(5+x, 5+y, 10,20);

g.drawRect(15+x,0+y, 5,30);

g.drawLine(10+x, 15+y, 10+10+x, 30+15+y);

break;

case 3://方向向左

g.drawRect(0+x, 0+y, 30, 5);

g.drawRect(5+x, 5+y, 20, 10);

g.drawRect(0+x, 15+y, 30, 5);

g.drawLine(15+x, 10+y, 15+x, 10+10+y);

break;

}

}

}

java 坦克大战 一段代码 关于图像绘制 不懂 求解?

这个是双缓冲的绘制方法

if (offScreenImage == null)

{

offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);

}

这里是先在内存中创建一个 offScreenImage 的缓冲图像

gOffScreen.drawImage(imgs, 0, 0, GAME_WIDTH, GAME_HEIGHT,null);

这里是将背景图片绘制到刚才创建的这块缓冲区上

paint(gOffScreen);

g.drawImage(offScreenImage, 0, 0, null);

这里是将缓冲区再绘制到实际屏幕上

采用双缓冲可以保证画面不会闪烁 因为图片的刷新都是发生在内存区上的 实际屏幕上用户是感觉不出来的 所以人眼感觉不到闪烁

利用JAVA开发一个游戏应用程序,写出设计思想,给出源代码、运行界面及相应解释

游戏名:坦克大战

设计思想:我军坦克、敌军坦克、炮弹、墙、基地

源代码:class Tank{} class Wall{} class Base{} class Shell{}

运行界面:

相应解释:对不起!您提供的分数有限,暂时只能提供给您这么多回复

java坦克大战,求一份敌方坦克与我方不重叠的代码。

那你还要判断敌方与敌方的不重叠么?太麻烦了吧。。。

我提一点建议,希望能帮到你

建一个Tank基类,描述坦克的基本属性,实现防止碰撞的方法,包含移动的抽象方法

建EnemyTank类继承Tank,重写移动的方法,由线程控制

建MyTank类继承Tank,重写移动的方法,由键盘控制

这样防止碰撞的问题都在Tank类中进行处理,根本不会有你说的各种情况


当前名称:包含java坦克大战墙代码的词条
URL标题:http://cdweb.net/article/hsdjop.html