導航:首頁 > 編程語言 > 貪吃蛇java下載

貪吃蛇java下載

發布時間:2022-07-03 05:44:11

⑴ 諾基亞7260可以下載游戲「貪吃蛇」嗎

可以的:)它支持java,到手機之家網站去找找那游戲:)

⑵ java 闖關貪吃蛇游戲

太簡單了吧,況且以後都用不著,技術太落後了,還是搞搞swing吧

⑶ 怎樣將java編寫的貪吃蛇游戲加入暫停功能

加入一個全局變數,表示當前的狀態,線程中改變坐標的時候加入判斷,如果當前狀態為暫停那坐標不要改變,這樣你只要給空格鍵加入事件,事件中改變這個全局變數,相應的可以決定坐標是否改變,坐標不改變也就意味著游戲暫停

⑷ 誰有java J2ME版 貪吃蛇的源碼

import java.awt.*;
import java.awt.event.*;
public class GreedSnake //主類
{

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyWindow();

}

}
class MyPanel extends Panel implements KeyListener,Runnable//自定義面板類,繼承了鍵盤和線程介面
{

Button snake[]; //定義蛇按鈕
int shu=0; //蛇的節數
int food[]; //食物數組
boolean result=true; //判定結果是輸 還是贏
Thread thread; //定義線程
static int weix,weiy; //食物位置
boolean t=true; //判定游戲是否結束
int fangxiang=0; //蛇移動方向
int x=0,y=0; //蛇頭位置
MyPanel()
{

setLayout(null);
snake=new Button[20];
food=new int [20];
thread=new Thread(this);

for(int j=0;j<20;j++)
{
food[j]=(int)(Math.random()*99);//定義20個隨機食物
}

weix=(int)(food[0]*0.1)*60; //十位*60為橫坐標
weiy=(int)(food[0]%10)*40; //個位*40為縱坐標
for(int i=0;i<20;i++)
{
snake[i]=new Button();
}

add(snake[0]);
snake[0].setBackground(Color.black);
snake[0].addKeyListener(this); //為蛇頭添加鍵盤監視器
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);//設置蛇頭位置

if(x==weix&&y==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); //睡眠100ms
}
catch(Exception e){}
}
else if(fangxiang==1)//向左
{
try
{
x-=10;
snake[0].setLocation(x, y);
if(x==weix&&y==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==weix&&y==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==weix&&y==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(num1>1)//判斷是否咬自己的尾巴
{
if(snake[num1].getBounds().x==snake[0].getBounds().x&&snake[num1].getBounds().y==snake[0].getBounds().y)
{
t=false;
result=false;
repaint();
}
num1--;
}
if(x<0||x>=this.getWidth()||y<0||y>=this.getHeight())//判斷是否撞牆
{
t=false;
result=false;
repaint();
}
int num=shu;
while(num>0) //設置蛇節位置
{
snake[num].setBounds(snake[num-1].getBounds());
num--;
}

if(shu==15) //如果蛇節數等於15則勝利
{
t=false;
result=true;
repaint();
}

}

}
public void keyPressed(KeyEvent e) //按下鍵盤方向鍵
{
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==false&&result==false)
g.drawString("GAME OVER!", 250, 200);//輸出遊戲失敗
else if(t==false&&result==true)
g.drawString("YOU WIN!", 250, 200);//輸出遊戲成功
}

}
class MyWindow extends Frame implements ActionListener//自定義窗口類
{
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後請按Tab鍵選定蛇"));
panel.add(btn);
panel.add(new Label("按上下左右鍵控制蛇行動"));
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(); //開始線程
my.validate();
}
catch(Exception ee){}
}

}
}

閱讀全文

與貪吃蛇java下載相關的資料

熱點內容
圓命令畫法 瀏覽:303
如果給電腦e盤文件加密 瀏覽:799
javaswing項目 瀏覽:773
androidsdksetup 瀏覽:1001
pdf怎麼設置中文 瀏覽:124
安卓手機用什麼軟體看倫敦金 瀏覽:962
魅族文件夾無名稱 瀏覽:787
蘇黎世無人機演算法 瀏覽:871
核桃編程和小碼王的融資 瀏覽:681
微積分教材pdf 瀏覽:723
寫python給微信好友發消息 瀏覽:336
蚊帳自營米加密 瀏覽:418
學校推薦核桃編程 瀏覽:802
湖南農信app怎麼導明細 瀏覽:471
福特abs編程 瀏覽:506
如何自學安卓手機 瀏覽:437
以太坊源碼共識機制 瀏覽:910
單片機探測器 瀏覽:870
demo編程大賽作品怎麼運行 瀏覽:51
學歷提升用什麼手機軟體App 瀏覽:938