快速业务通道

贪吃蛇的小游戏

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-11


点击浏览该文件
代码的说明在原文件里有,我就不帖出来了,不清楚可以问我
点击浏览该文件
这是其主要代码 head0.Direction=2;//初始化头的方向,在head0上有Diretion的控制函数
attach_egg=1;//是否导入蛋,控制导入的蛋只一个
egg_x=240;//初始化蛋的位置
egg_y=200;
next_x=0;//初始下一段蛇的导入位置
next_y=0;
score=0;//你的得分,同时也是蛇的长度
eat_self=false;
function attachegg(x,y) {//导入蛋
attachMovie("egg","egg0",0);//新手注意了,egg0是链接名,不是实例名,也不是库里的名称
egg0._x=x;
egg0._y=y;
}
function Move() {
if(attach_egg==1) {
attachegg(egg_x,egg_y);
attach_egg=0;
egg_x=random(26)*20;//取得蛋导入的随机位置,random将返回值为1到26,这是根据我设的边界而定的
egg_y=random(17)*20;
}
for(i=0;i<=score;++i) {
mc=eval("head"+i);
next_x=mc._x;//不断的得到下一段的蛇身调入位置
next_y=mc._y;
front_x=mc._x;//记录当前一段蛇身的位置
front_y=mc._y;
if(i!=0) {//蛇身的运动,其实就是前一段运动之前将其位置记下,再下一段运动到前一段刚才的位置,从而实现一条蛇的运动,这是一种运动方式.还有一种就是不断的记录每一段蛇的运动方向,
mc._x=to_x;
mc._y=to_y;
}else {
switch (head0.Direction) {//头的运动
case 1 :
head0._y-=20;
break;
case 2:
head0._x+=20;
break;
case 3:
head0._y+=20;
break;
case 4:
head0._x -=20;
break;
}
}
to_x=front_x;//下一段的蛇身将要运动到的位置
to_y=front_y;
}
if(head0._x==egg0._x && head0._y==egg0._y) {//当蛇吃到蛋的处理
attach_egg=1;
score+=1;
_root.attachMovie("snake","head"+score,score);
mc=eval("head"+score);
mc._x=next_x;
mc._y=next_y;
}
for(i=1;i<=score && !eat_self;++i) {//当蛇吃到了自己,for的双条件循环
if(head0._x==eval("head"+i)._x && head0._y==eval("head"+i)._y) {
eat_self=true;
}
}
if (head0._y>340||head0._y<0||head0._x<0||head0._x>520||eat_self) {//游戏结束的条件(出界,蛇吃到了自己)
for(i=1;i<=score;++i) {
removeMovieClip("head" + i);
}
removeMovieClip("egg0");
_root.gotoAndPlay(4);
clearInterval(showMove);
}
}
showMove=setInterval(Move,1000-(hard-1)*100);//hard调节蛇的运动速度,
即调节难度
stop() 控制蛇的运动方向 onClipEvent(keyDown) {//当按下键时,
if(Key.getCode()==38 && this.Direction!=3){//正在向下时,不能向下转,以下同理,38是向上的键盘按钮的对应的虚拟键码
this.Direction=1;//向上动
}
if(Key.getCode()==39 && this.Direction!=4) {
this.Direction=2;//向右动
}
if(Key.getCode()==40 && this.Direction!=1) {
this.Direction=3;//向下动
}
if(Key.getCode()==37 && this.Direction!=2) {
this.Direction=4;//向左动
}
}
关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号