问血族手游攻略
血族手游攻略
-
鐘意
不合意的自己去修改
import j**a.awt.*;import j**a.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 keyl**tener,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(**);snake=new button[20];food=new int[20];thread=new thread(th**);for(int j=0;j;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;i+)
{
snake[i]=new button();}
add(snake[0]);snake[0].setbackground(color.black);snake[0].addkeyl**tener(th**);为蛇头添加键盘**
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|x>=th**.getwidth()|y|y>=th**.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=th**.getwidth()-1;int y1=th**.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 actionl**tener/自定义窗口类
{
mypanel my;button btn;panel panel;mywindow()
{
super("greedsnake");my=new mypanel();btn=new button("begin");panel=new panel();btn.addactionl**tener(th**);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);setv**ible(true);validate();addwindowl**tener(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){}
}
}
}
-
问 手游热血合击攻略
提问时间:2024-05-06 23:19:44
答 手游热血合击攻略 热血合击是一款非常受欢迎的手游,该游戏采用了非常独特的合击系统,玩家可以与队友一同发动超强的合击技能,解锁更多的游戏内容。如果你想成为这款游戏...
-
问 血族手游
提问时间:2024-05-06 16:00:20
答 血族手游 血族手游是一款以吸血鬼为主题的角色扮演游戏,游戏画面精美,玩法丰富,深受玩家喜爱。下面我将从游戏特点、玩法、社交等方面为大家介绍一下血族手游。游戏特点...
-
问 血族手游角色
提问时间:2024-05-06 10:52:27
答 血族手游角色 血族手游是一款以吸血鬼为主题的角色扮演游戏,其中有不少的角色可供玩家选择。那么,哪一个角色是最好的呢?以下是一些我认为比较出色的血族手游角色,希望...
-
问 热血传说手游攻略
提问时间:2024-05-06 07:11:20
答 热血传说手游攻略 作为一款经典的MMORPG游戏,《热血传说》在手游市场中也备受瞩目。如果你是初次接触或者想要提升游戏技巧的玩家,以下是几个攻略建议。一、角色选...
-
问 血族bloodline攻略
提问时间:2024-05-06 05:59:24
答 血族bloodline攻略 《血族》是一款非常受欢迎的战略角色扮演游戏,玩家可以扮演吸血鬼,建立自己的势力,与其他玩家互相竞争。其中,血统是非常重要的因素,影响...
-
问 血族***
提问时间:2024-05-06 10:49:59
答 血族*** 血族是一种古老而强大的生物种族,他们天生拥有强大的力量、速度和耐力,同时还具备着独特的特殊能力。在故事中,我们可以看到许多血族人物以其强大的实力和难...
-
问 血族手游账号
提问时间:2024-05-06 13:02:10
答 血族手游账号 血族手游是一款非常受欢迎的RPG类手游,玩家可以在这个游戏中扮演各种不同的角色,探索一片神秘的世界,并与其他玩家展开激烈的战斗。在这个游戏中,拥有...
-
问 血族bloodline手游攻略
提问时间:2024-05-06 10:49:51
答 血族bloodline手游攻略 血族bloodline手游是一款以暗黑幻想为背景的动作角色扮演游戏(ARPG),游戏中玩家将扮演一位血族猎人,与其他玩家组队,探...
-
问 血族手游人物
提问时间:2024-05-06 01:51:43
答 血族手游人物 血族手游五大职业背景人物介绍【No.1血族公主——莉萝艾】莉萝艾作为剧情中的1号女主角,自然是集作者万般宠爱于一身的血族公主,上可动用血族魔力召唤...
-
问 血族bloodline血族元老
提问时间:2024-05-06 01:19:11
答 血族bloodline血族元老 血族bloodline电脑版下载使用教程 1点击下载血族bloodline电脑版玩家们想要在电脑上畅快地玩血族bloo...