欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

關(guān)于java90坦克大戰(zhàn)代碼的信息

java坦克大戰(zhàn)源代碼 怎么導(dǎo)入

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

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、西市網(wǎng)站維護、網(wǎng)站推廣。

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

File - Import - General

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

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),這段代碼為什么子彈的坐標(biāo)在變,卻不能repaint,但是按下任意鍵盤的建卻重繪了呢?

Mypanel的? run方法里要調(diào)用repaint方法??? 否則你的repaint方法只會在keyPressed發(fā)生的時候才調(diào)用

修改一下兩個地方

(1)

// 鍵盤獲取事件的函數(shù)

public void keyPressed(KeyEvent arg0) {

// TODO Auto-generated method stub

if (arg0.getKeyCode() == KeyEvent.VK_J) {

?if (hero.shot.size() 5) {

??? ?hero.shott();

?}

}

if (arg0.getKeyCode() == KeyEvent.VK_W) {

?hero.setSDC(hero.getSpeed(), 0, hero.getColor());

?hero.moveUp();

} else if (arg0.getKeyCode() == KeyEvent.VK_S) {

?hero.setSDC(hero.getSpeed(), 1, hero.getColor());

?hero.moveDown();

} else if (arg0.getKeyCode() == KeyEvent.VK_A) {

?hero.setSDC(hero.getSpeed(), 2, hero.getColor());

?hero.moveLeft();

} else if (arg0.getKeyCode() == KeyEvent.VK_D) {

?hero.setSDC(hero.getSpeed(), 3, hero.getColor());

?hero.moveRight();

}

/**

* 這個repaint注釋掉

*/

//this.repaint();

}

(2)

// 線程

/**

* 一秒鐘60幀

*/

public void run() {

// TODO Auto-generated method stub

while(true){

?this.repaint();

?try {

??? ?

??? ?Thread.sleep(1000 / 60);

?} catch (InterruptedException e) {

??? ?// TODO 自動生成的 catch 塊

??? ?e.printStackTrace();

?}

}

}

完整代碼如下:

import?java.awt.*;

import?javax.swing.*;

import?java.util.*;

import?java.awt.event.*;

public?class?aaa?extends?JFrame?{

public?static?void?main(String[]?args)?{

aaa?a1?=?new?aaa();

Thread?t1?=?new?Thread(a1.mp);

t1.start();

}

MyPanel?mp?=?null;

public?aaa()?{

mp?=?new?MyPanel();

this.add(mp);

this.addKeyListener(mp);

this.setSize(500,?500);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

class?MyPanel?extends?JPanel?implements?KeyListener,?Runnable?{

MyTank?hero?=?null;

VectorEmenyTank?emeny?=?new?VectorEmenyTank();

int?emsize?=?5;

//?鍵盤獲取事件的函數(shù)

public?void?keyPressed(KeyEvent?arg0)?{

//?TODO?Auto-generated?method?stub

if?(arg0.getKeyCode()?==?KeyEvent.VK_J)?{

if?(hero.shot.size()??5)?{

hero.shott();

}

}

if?(arg0.getKeyCode()?==?KeyEvent.VK_W)?{

hero.setSDC(hero.getSpeed(),?0,?hero.getColor());

hero.moveUp();

}?else?if?(arg0.getKeyCode()?==?KeyEvent.VK_S)?{

hero.setSDC(hero.getSpeed(),?1,?hero.getColor());

hero.moveDown();

}?else?if?(arg0.getKeyCode()?==?KeyEvent.VK_A)?{

hero.setSDC(hero.getSpeed(),?2,?hero.getColor());

hero.moveLeft();

}?else?if?(arg0.getKeyCode()?==?KeyEvent.VK_D)?{

hero.setSDC(hero.getSpeed(),?3,?hero.getColor());

hero.moveRight();

}

/**

*?這個repaint注釋掉

*/

//this.repaint();

}

public?void?keyReleased(KeyEvent?arg0)?{

//?TODO?Auto-generated?method?stub

}

public?void?keyTyped(KeyEvent?arg0)?{

//?TODO?Auto-generated?method?stub

}

//?完畢

public?MyPanel()?{

hero?=?new?MyTank(250,?250);

hero.setSDC(5,?2,?2);

for?(int?i?=?0;?i??emsize;?++i)?{

EmenyTank?em?=?new?EmenyTank((i?+?1)?*?60,?20);

em.setSDC(5,?1,?1);

emeny.add(em);

}

}

//?線程

/**

*?一秒鐘60幀

*/

public?void?run()?{

//?TODO?Auto-generated?method?stub

while(true){

this.repaint();

try?{

Thread.sleep(1000?/?60);

}?catch?(InterruptedException?e)?{

//?TODO?自動生成的?catch?塊

e.printStackTrace();

}

}

}

public?void?paint(Graphics?g)?{

super.paint(g);

//?畫板,坦克得放在畫板后頭

g.fillRect(0,?0,?400,?400);

//?paint敵人坦克

for?(int?i?=?0;?i??emeny.size();?++i)?{

EmenyTank?em?=?null;

em?=?emeny.get(i);

this.drawTank(em.getX(),?em.getY(),?g,?em.getDirect(),

em.getColor());

}

//?畫我自己的坦克

this.drawTank(hero.getX(),?hero.getY(),?g,?hero.getDirect(),

hero.getColor());

//?畫出我的子彈

for?(int?i?=?0;?i??hero.shot.size();?i++)?{

Shot?myShot?=?hero.shot.get(i);

if?(myShot?!=?null??myShot.live?==?true)?{

g.draw3DRect(myShot.x,?myShot.y,?2,?2,?false);

}

if?(myShot.live?==?false)?{

hero.shot.remove(myShot);

}

}

}

public?void?drawTank(int?x,?int?y,?Graphics?g,?int?direct,?int?color)?{

//?判斷坦克的顏色(敵我)然后畫出坦克

switch?(color)?{

case?0:

g.setColor(Color.BLUE);

break;

case?1:

g.setColor(Color.YELLOW);

break;

case?2:

g.setColor(Color.GREEN);

break;

}

//?判斷坦克的方向然后再畫出坦克

switch?(direct)?{

case?0:

g.fill3DRect(x,?y,?10,?30,?false);

g.fill3DRect(x?+?26,?y,?10,?30,?false);

g.fill3DRect(x?+?10,?y?+?5,?16,?20,?false);

g.drawLine(x?+?18,?y?+?15,?x?+?18,?y);

break;

case?1:

g.fill3DRect(x,?y,?10,?30,?false);

g.fill3DRect(x?+?26,?y,?10,?30,?false);

g.fill3DRect(x?+?10,?y?+?5,?16,?20,?false);

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

break;

case?2:

g.fill3DRect(x?+?3,?y?-?3,?30,?10,?false);

g.fill3DRect(x?+?3,?y?+?23,?30,?10,?false);

g.fill3DRect(x?+?8,?y?+?7,?20,?16,?false);

g.drawLine(x?+?18,?y?+?15,?x?+?3,?y?+?15);

break;

case?3:

g.fill3DRect(x?+?3,?y?-?3,?30,?10,?false);

g.fill3DRect(x?+?3,?y?+?23,?30,?10,?false);

g.fill3DRect(x?+?8,?y?+?7,?20,?16,?false);

g.drawLine(x?+?18,?y?+?15,?x?+?33,?y?+?15);

break;

}

}

}

class?EmenyTank?extends?Tank?implements?Runnable?{

public?EmenyTank(int?x,?int?y)?{

//?TODO?Auto-generated?method?stub

super(x,?y);

}

public?void?run()?{

}

}

class?Shot?implements?Runnable?{

protected?int?x;

protected?int?y;

protected?int?direct;

protected?int?speed?=?4;

protected?boolean?live?=?true;

public?void?setX(int?x)?{

this.x?=?x;

this.y?=?y;

}

public?int?getX()?{

return?x;

}

public?int?getY()?{

return?y;

}

public?void?setDirect(int?direct)?{

this.direct?=?direct;

}

public?int?getDirect()?{

return?direct;

}

public?void?setSpeed(int?speed)?{

this.speed?=?speed;

}

public?int?getSpeed()?{

return?speed;

}

//?子彈的上下左右以及走的速度

public?void?run()?{

//?TODO?Auto-generated?method?stub

while?(true)?{

try?{

Thread.sleep(100);

}?catch?(Exception?e)?{

}

switch?(direct)?{

case?0:

y?-=?speed;

break;

case?1:

y?+=?speed;

break;

case?2:

x?-=?speed;

break;

case?3:

x?+=?speed;

break;

}

if?(x??400?||?x??0?||?y??400?||?y??0)?{

this.live?=?false;

break;

}

}

}

}

class?Tank?{

protected?int?x;

protected?int?y;

protected?int?speed?=?5;

protected?int?direct;

protected?int?color;

boolean?live;

public?Tank(int?x,?int?y)?{

this.x?=?x;

this.y?=?y;

}

public?int?getX()?{

return?x;

}

public?int?getY()?{

return?y;

}

public?void?setSDC(int?speed,?int?direct,?int?color)?{

this.speed?=?speed;

this.direct?=?direct;

this.color?=?color;

}

public?int?getSpeed()?{

return?speed;

}

public?int?getDirect()?{

return?direct;

}

public?int?getColor()?{

return?color;

}

}

class?MyTank?extends?Tank?{

public?MyTank(int?x,?int?y)?{

//?TODO?Auto-generated?method?stub

super(x,?y);

}

VectorShot?shot?=?new?VectorShot();

Shot?shota?=?null;

public?void?shott()?{

switch?(this.direct)?{

case?0:

shota?=?new?Shot();

shota.x?=?x?+?18;

shota.y?=?y;

shota.direct?=?0;

shot.add(shota);

break;

case?1:

shota?=?new?Shot();

shota.x?=?x?+?18;

shota.y?=?y?+?30;

shota.direct?=?1;

shot.add(shota);

break;

case?2:

shota?=?new?Shot();

shota.x?=?x?+?3;

shota.y?=?y?+?15;

shota.direct?=?2;

shot.add(shota);

break;

case?3:

shota?=?new?Shot();

shota.x?=?x?+?33;

shota.y?=?y?+?15;

shota.direct?=?3;

shot.add(shota);

break;

}

Thread?t?=?new?Thread(shota);

t.start();

}

public?void?moveUp()?{

if?(y??0)?{

y?-=?speed;

}

}//?我的坦克得在自己的類里定義怎么移動

public?void?moveDown()?{

if?(y??367)?{

y?+=?speed;

}

}

public?void?moveLeft()?{

if?(x??0)?{

x?-=?speed;

}

}

public?void?moveRight()?{

if?(x??365)?{

x?+=?speed;

}

}

}

本文標(biāo)題:關(guān)于java90坦克大戰(zhàn)代碼的信息
網(wǎng)頁URL:http://aaarwkj.com/article42/dssjcec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司關(guān)鍵詞優(yōu)化、網(wǎng)站建設(shè)、網(wǎng)站營銷、動態(tài)網(wǎng)站移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
欧洲亚洲国产一区二区| 风韵犹存丰满大屁股熟妇| 日本av人妻在线观看| 中文字幕中文字幕久久不卡| 国语对白视频在线观看| 亚洲国产日韩欧美视频| 午夜性生活免费观看视频| 每日更新中文字幕粉嫩av| 高清中文一区二区三区| 国产熟女真实乱精品视频| 亚洲精品国产二区中文字幕| 在线观看国产精品女主播户外麻豆| 小仙女精品经典三级永久| 日韩一区二区亚洲精品| 日韩中文字幕 在线播放| 天堂av新版在线观看| 国产91九色在线播放| 欧美精品一区二区网站| 西西美女掰开阴让你看| 午夜伦理视频免费观看| 老熟女乱色一区二区三区| 亚洲欧美国产日韩天堂区| 97精品免费在线观看| 中文字幕亚洲欧美日韩高清| 男人自拍天堂在线视频| 国产高清在线a视频大全| 91国产视频在线观看免费| 欧美日韩亚洲1区2区| 国产精品一区二区三区欧美| 国产亚洲av一区二区三区| 免费在线av一区二区| 69人妻一区二区三区蜜桃| 人妻黄色这里只有精品| 97免费在线视频观看| 亚洲国产精品一区一区| 亚洲综合日韩丝袜人妻| 中文字幕中出亚洲精品| 亚洲欧美日韩精品一区二| 97视频观看免费观看| 韩国福利短片在线观看| 六月综合激情丁香婷婷色|