html5-贪食蛇
cai3178940
2010-12-02
楼主太厉害了,我发现2个Bug,改变方向的时候蛇会多走一步,这个bug我帮楼主改好了
this.turn = function(code){ var head = this.getHead(); var point = new E770(head.x,head.y); switch(code - 36){ case 1: if(this.k209 == 1 || this.k209 == 3) return; //point.x--; //只改方向就行不用多走一步 break; case 2: if(this.k209 == 2 || this.k209 == 4) return; //point.y--; break; case 3: if(this.k209 == 1 || this.k209 == 3) return; //point.x++; break; case 4: if(this.k209 == 2 || this.k209 == 4) return; //point.y++; break; } this.k209 = code - 36; //this.process(point); //这里也不用判断逻辑了 } 还有一个Bug是点两次开始游戏,蛇死亡时会不停的跳game over |
|
sjzw46673
2010-12-02
说实话,我不知道讨论非IE应用有什么意义,国内太多客户只知道IE了。非IE只是在程序员之间在讨论,但程序员大多数时候不是客户。
|
|
flyingzl
2010-12-02
yangguo 写道 随着HTML5的插入触碰到RIA的G点,b/s的生产力将进一步解放,生产效率将进一步提高,由此必将引起生产关系的变化,即由原来的c/s结构的保守主义,地方主义向着b/s的共产主义初级阶段迈进。Javascript,作为RIA中的宠儿,在这场浪潮中,必定迎来高潮。
识时务者为俊杰。在这个大背景下,各路英雄纷纷揭竿而起,竖起javascript的大旗,誓要在后RIA时代的舞台中占有一席之地。yangguo也未能免俗,开始重新审视这门畸形的面向对象语言。 然而畸形毕竟是畸形,没有道行进一步学习可谓举步维艰,正当陷在闭包,this,prototype,Function中百般混沌时,忽然眼前出现一白发老人。只听老人说道: 把这个代码看一看,JS的哲学思想都融合在代码里了。 我运行了那代码,发现什么也没有,怔怔地看着老人。老人抚须蔑视道:呆子,什么年代了还用IE。我反应过来换上firefox, 发现竟是一贪食蛇游戏,正惊奇间,那老人已飘然而去,口中喃喃说道: 对象本无根,类型亦无形。本来无一物,何处惹尘埃? 如今我把那奇怪的代码放在了附件,大家可以看看。 哈哈,楼主看过《悟透javascript》这部书吧,把里面的几句话学到了,尤其是“对象本无根,类型亦无形。本来无一物,何处惹尘埃?” |
|
yangguo
2010-12-02
cai3178940 写道 楼主太厉害了,我发现2个Bug,改变方向的时候蛇会多走一步,这个bug我帮楼主改好了
this.turn = function(code){ var head = this.getHead(); var point = new E770(head.x,head.y); switch(code - 36){ case 1: if(this.k209 == 1 || this.k209 == 3) return; //point.x--; //只改方向就行不用多走一步 break; case 2: if(this.k209 == 2 || this.k209 == 4) return; //point.y--; break; case 3: if(this.k209 == 1 || this.k209 == 3) return; //point.x++; break; case 4: if(this.k209 == 2 || this.k209 == 4) return; //point.y++; break; } this.k209 = code - 36; //this.process(point); //这里也不用判断逻辑了 } 还有一个Bug是点两次开始游戏,蛇死亡时会不停的跳game over 呵呵,第一个不是什么bug。改变方向是要动一下,这样控制感比较强,否则效果很不好,你调到速度1就体现出来了。第二个bug修正如下: 引用 this.startGame = function(step){ this.clear(); clearInterval(this.moveHandle); e398.init(); this.score = 0; this.scoreLabel.innerHTML = this.score; this.gamePanel.onkeydown = onKeyDown; this.step = parseInt(step); this.moveHandle = setInterval(move, 500 - 50 * this.step); } |
|
sinxsoft
2010-12-02
需要ie9。
|
|
scyscy1234
2010-12-02
测试的时候出现一个怪现象,当撞到墙上的时候不停的alert啊
|
|
cleanidea
2010-12-03
看过楼主几个帖子 都很有意思 ,将程序和许多东西结合在一起
|
|
wmj007
2010-12-07
作者的确是文采很好,也很幽默,在简单故事描述中道出小东西的运行环境,有意思,拿来玩玩,的确是厉害人物,JS都这样玩了
|