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

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

貪吃蛇java代碼怎么玩 貪吃蛇java代碼完整版

求Java貪吃蛇代碼

貪吃蛇

成都創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、龍游網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開(kāi)發(fā)、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為龍游等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

import java.awt.*;

import java.awt.event.*;

public class GreedSnake //主類(lèi)

{

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

new MyWindow();

}

}

class MyPanel extends Panel implements KeyListener,Runnable//自定義面板類(lèi),繼承了鍵盤(pán)和線程接口

{

Button snake[]; //定義蛇按鈕

int shu=0; //蛇的節(jié)數(shù)

int food[]; //食物數(shù)組

boolean result=true; //判定結(jié)果是輸 還是贏

Thread thread; //定義線程

static int weix,weiy; //食物位置

boolean t=true; //判定游戲是否結(jié)束

int fangxiang=0; //蛇移動(dòng)方向

int x=0,y=0; //蛇頭位置

MyPanel()

{

setLayout(null);

snake=new Button[20];

food=new int [20];

thread=new Thread(this);

for(int j=0;j20;j++)

{

food[j]=(int)(Math.random()*99);//定義20個(gè)隨機(jī)食物

}

weix=(int)(food[0]*0.1)*60; //十位*60為橫坐標(biāo)

weiy=(int)(food[0]%10)*40; //個(gè)位*40為縱坐標(biāo)

for(int i=0;i20;i++)

{

snake[i]=new Button();

}

add(snake[0]);

snake[0].setBackground(Color.black);

snake[0].addKeyListener(this); //為蛇頭添加鍵盤(pán)監(jiān)視器

snake[0].setBounds(0,0,10,10);

setBackground(Color.cyan);

}

public void run() //接收線程

{

while(t)

{

if(fangxiang==0)//向右

{

try

{

x+=10;

snake[0].setLocation(x, y);//設(shè)置蛇頭位置

if(x==weixy==weiy) //吃到食物

{

shu++;

weix=(int)(food[shu]*0.1)*60;

weiy=(int)(food[shu]%10)*40;

repaint(); //重繪下一個(gè)食物

add(snake[shu]); //增加蛇節(jié)數(shù)和位置

snake[shu].setBounds(snake[shu-1].getBounds());

}

thread.sleep(100); //睡眠100ms

}

catch(Exception e){}

}

else if(fangxiang==1)//向左

{

try

{

x-=10;

snake[0].setLocation(x, y);

if(x==weixy==weiy)

{

shu++;

weix=(int)(food[shu]*0.1)*60;

weiy=(int)(food[shu]%10)*40;

repaint();

add(snake[shu]);

snake[shu].setBounds(snake[shu-1].getBounds());

}

thread.sleep(100);

}

catch(Exception e){}

}

else if(fangxiang==2)//向上

{

try

{

y-=10;

snake[0].setLocation(x, y);

if(x==weixy==weiy)

{

shu++;

weix=(int)(food[shu]*0.1)*60;

weiy=(int)(food[shu]%10)*40;

repaint();

add(snake[shu]);

snake[shu].setBounds(snake[shu-1].getBounds());

}

thread.sleep(100);

}

catch(Exception e){}

}

else if(fangxiang==3)//向下

{

try

{

y+=10;

snake[0].setLocation(x, y);

if(x==weixy==weiy)

{

shu++;

weix=(int)(food[shu]*0.1)*60;

weiy=(int)(food[shu]%10)*40;

repaint();

add(snake[shu]);

snake[shu].setBounds(snake[shu-1].getBounds());

}

thread.sleep(100);

}

catch(Exception e){}

}

int num1=shu;

while(num11)//判斷是否咬自己的尾巴

{

if(snake[num1].getBounds().x==snake[0].getBounds().xsnake[num1].getBounds().y==snake[0].getBounds().y)

{

t=false;

result=false;

repaint();

}

num1--;

}

if(x0||x=this.getWidth()||y0||y=this.getHeight())//判斷是否撞墻

{

t=false;

result=false;

repaint();

}

int num=shu;

while(num0) //設(shè)置蛇節(jié)位置

{

snake[num].setBounds(snake[num-1].getBounds());

num--;

}

if(shu==15) //如果蛇節(jié)數(shù)等于15則勝利

{

t=false;

result=true;

repaint();

}

}

}

public void keyPressed(KeyEvent e) //按下鍵盤(pán)方向鍵

{

if(e.getKeyCode()==KeyEvent.VK_RIGHT)//右鍵

{

if(fangxiang!=1)//如果先前方向不為左

fangxiang=0;

}

else if(e.getKeyCode()==KeyEvent.VK_LEFT)

{ if(fangxiang!=0)

fangxiang=1;

}

else if(e.getKeyCode()==KeyEvent.VK_UP)

{ if(fangxiang!=3)

fangxiang=2;

}

else if(e.getKeyCode()==KeyEvent.VK_DOWN)

{ if(fangxiang!=2)

fangxiang=3;

}

}

public void keyTyped(KeyEvent e)

{

}

public void keyReleased(KeyEvent e)

{

}

public void paint(Graphics g) //在面板上繪圖

{

int x1=this.getWidth()-1;

int y1=this.getHeight()-1;

g.setColor(Color.red);

g.fillOval(weix, weiy, 10, 10);//食物

g.drawRect(0, 0, x1, y1); //墻

if(t==falseresult==false)

g.drawString("GAME OVER!", 250, 200);//輸出游戲失敗

else if(t==falseresult==true)

g.drawString("YOU WIN!", 250, 200);//輸出游戲成功

}

}

class MyWindow extends Frame implements ActionListener//自定義窗口類(lèi)

{

MyPanel my;

Button btn;

Panel panel;

MyWindow()

{

super("GreedSnake");

my=new MyPanel();

btn=new Button("begin");

panel=new Panel();

btn.addActionListener(this);

panel.add(new Label("begin后請(qǐng)按Tab鍵選定蛇"));

panel.add(btn);

panel.add(new Label("按上下左右鍵控制蛇行動(dòng)"));

add(panel,BorderLayout.NORTH);

add(my,BorderLayout.CENTER);

setBounds(100,100,610,500);

setVisible(true);

validate();

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

public void actionPerformed(ActionEvent e)//按下begin按鈕

{

if(e.getSource()==btn)

{

try

{

my.thread.start(); //開(kāi)始線程

my.validate();

}

catch(Exception ee){}

}

}

}

希望對(duì)你能有所幫助。

貪吃蛇java代碼具有交互功能嗎

有。貪吃蛇自行編輯java代碼使其具有交互功能是可以的。實(shí)現(xiàn)貪吃蛇游戲基本功能,屏幕上隨機(jī)出現(xiàn)一個(gè)“食物”,稱(chēng)為豆子。玩家能利用上下左右鍵控制“蛇”的移動(dòng),“蛇”吃到“豆子”后“蛇”身體加長(zhǎng)一節(jié),得分增加,“蛇”碰到邊界或蛇頭與蛇身相撞,“蛇”死亡,游戲結(jié)束。

java貪吃蛇技術(shù)選型怎么寫(xiě)的?

Java貪吃蛇技術(shù)選型一般需要考慮以下幾點(diǎn):

開(kāi)發(fā)平臺(tái):需要選擇適用于Java語(yǔ)言的開(kāi)發(fā)平臺(tái),如Eclipse、IntelliJ IDEA等。

編程語(yǔ)言:需要選擇Java語(yǔ)言來(lái)開(kāi)發(fā)貪吃蛇游戲。

框架和庫(kù):可以使用Java中的Swing框架和AWT庫(kù)來(lái)開(kāi)發(fā)圖形界面,并使用Java多線程編程技術(shù)來(lái)實(shí)現(xiàn)游戲的實(shí)時(shí)動(dòng)態(tài)效果。

算法和數(shù)據(jù)結(jié)構(gòu):可以使用隊(duì)列或鏈表等數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)貪吃蛇的身體,并使用類(lèi)似貪心算法的思想來(lái)決定貪吃蛇的下一步移動(dòng)方向。

編碼風(fēng)格和規(guī)范:需要遵循Java的編碼風(fēng)格和規(guī)范,確保代碼的可讀性和可維護(hù)性。

希望以上內(nèi)容能夠幫助您了解Java貪吃蛇技術(shù)選型。如果您有其他問(wèn)題,歡迎隨時(shí)告訴我,我會(huì)盡力為您解答。

從網(wǎng)上下載了一個(gè)貪吃蛇的java源代碼,但是要怎么運(yùn)行啊,電腦有裝eclipse。。。。需要下載什

你要是 不想下eclipse,就進(jìn)入bin目錄運(yùn)行java TestCardType看能否運(yùn)行(看名字估計(jì)main方法在那里面)。

如果你想研究代碼,用eclipse,菜單上的new--project...選project from existing source,然后選擇這個(gè)程序目錄,就導(dǎo)入了,然后點(diǎn)eclipse上的那個(gè)運(yùn)行按鈕就行了。


當(dāng)前名稱(chēng):貪吃蛇java代碼怎么玩 貪吃蛇java代碼完整版
標(biāo)題網(wǎng)址:http://weahome.cn/article/doecdsp.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部