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都这样玩了
Global site tag (gtag.js) - Google Analytics