真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java簡易坦克大戰(zhàn)代碼,簡易計算器Java代碼

關(guān)于java坦克大戰(zhàn)里的一個小問題,這是其中的一部分代碼

this.barrelDir = this.dir;

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計、做網(wǎng)站、電商網(wǎng)站制作開發(fā)、微信小程序開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!

假設(shè)坦克向右行駛,這時——

this.barrelDir = this.dir = “R”

它們的值都指向了R。

當(dāng)坦克停止時,校驗

if(this.dir != Direction.STOP)

無法通過,所以不會重置 barrelDir 的值,也就是說它仍然等于R。

這時你發(fā)射子彈,barrelDir 值不為STOP,所以它就可以往右邊飛出去了。

JAVA 坦克大戰(zhàn)

import?java.awt.*;

import?javax.swing.*;

public?class?Tank?extends?JFrame?{

mypane?mp=null;

Obj[]?objs=new?Obj[0];

public?Tank()?{

setTitle("坦克大戰(zhàn)");

setSize(800,600);

pro();

add(new?mypane(objs));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

//在這里添加鍵盤事件、鼠標(biāo)事件、讓坦克移動,修改objs數(shù)組對象讓他們移動

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;//坦克坐標(biāo)

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://我方坦克,設(shè)置為紅色

g.setColor(Color.red);

break;

case?1://敵方坦克,設(shè)置為藍色

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坦克大戰(zhàn)源代碼 怎么導(dǎo)入

坦克大戰(zhàn)源代碼應(yīng)該是個完整的項目吧。

對于完整的帶項目配置文件的java源碼,按步驟操作即可:

File - Import - General

選擇Existing Projects into Workspace,選擇要導(dǎo)入的文件,點擊“finish",OK。

java 坦克大戰(zhàn) 一段代碼 關(guān)于圖像繪制 不懂 求解?

這個是雙緩沖的繪制方法

if (offScreenImage == null)

{

offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);

}

這里是先在內(nèi)存中創(chuàng)建一個 offScreenImage 的緩沖圖像

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

這里是將背景圖片繪制到剛才創(chuàng)建的這塊緩沖區(qū)上

paint(gOffScreen);

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

這里是將緩沖區(qū)再繪制到實際屏幕上

采用雙緩沖可以保證畫面不會閃爍 因為圖片的刷新都是發(fā)生在內(nèi)存區(qū)上的 實際屏幕上用戶是感覺不出來的 所以人眼感覺不到閃爍


分享名稱:java簡易坦克大戰(zhàn)代碼,簡易計算器Java代碼
文章轉(zhuǎn)載:http://weahome.cn/article/dsicceg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部