主题:  用javascript做游戏

5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#12002/8/16 17:18:51
工作时候闲得没事,做了一个游戏演示.

河内塔问题大家都知道吧,详细介绍这里
ccmp.tacomall.com.tw/toy/hanoi/hanoi.html
河內塔的起源
  1883年,一位法國的數學家 Edouard Lucas 教授在歐洲的一份雜誌上介紹了一個相當

吸引人的難題──迷人的智力遊戲。這個遊戲名為河內塔(Tower of Hanoi),它源自古印度

神廟中的一段故事(也有一說是 Lucas 教授為增加此遊戲之神秘色彩而捏造的)。傳說在古

老的印度,有一座神廟,據說它是宇宙的中心。在廟宇中放置了一塊上面插有三根長木釘

的木板,在其中的一根木釘上,從上至下被放置了64片直徑由小至大的圓環形金屬片。古

印度教的天神指示祂的僧侶們將64片的金屬片移至三根木釘中的其中一根上。規定在每次

的移動中,只能搬移一片金屬片,並且在過程中必須保持金屬片由上至下是直徑由小至大

的次序,也就是說不論在那一根木釘上,圓環形的金屬片都是直徑較小的被放在上層。直

到有一天,僧侶們能將64片的金屬片依規則從指定的木釘上全部移動至另一根木釘上,那

麼,世界末日即隨之來到,世間的一切終將被毀滅,萬物都將至極樂世界

针对这个游戏作了解法演示.

http://vip.5dmedia.com/star/star/game/hanoi/hnt.html

下面我来简单介绍一下思路

程序中有如下几个重要函数:

init(n); //数据初始化

hnt(n,'A','B','C'); //最重要的函数,用于计算结果,并将结果分别保存在cluA,cluB,cluC数组中

drawQuestion(); //输出游戏说明(输出画面中红线以上的部分)

writeResault() //将cluA,cluB,cluC中的结果以图形的方式输出

refArray(); //用于刷新A,B,C三柱当前的盘子数组cluA,cluB,cluC

编辑历史:[这消息被sTarsjz编辑过(编辑时间2002-08-16 17:20:32)]
[这消息被sTarsjz编辑过(编辑时间2002-08-16 17:24:33)]
[这消息被sTarsjz编辑过(编辑时间2002-08-16 17:25:37)]
[这消息被sTarsjz编辑过(编辑时间2002-08-16 17:28:18)]
[这消息被sTarsjz编辑过(编辑时间2002-08-16 17:28:31)]


zxwgc

职务:普通成员
等级:1
金币:1.0
发贴:184
注册:2001/11/29 21:45:13
#22002/8/16 23:56:30
不错!咋做的?

编辑历史:[这消息被zxwgc编辑过(编辑时间2002-08-16 23:57:22)]


darkvn

职务:普通成员
等级:1
金币:1.0
发贴:222
注册:2001/11/12 18:23:41
#32002/8/17 10:52:43
有没有更好玩的?



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#42002/8/17 13:42:17
小混在上个帖子中说
引用:
有没有更好玩的?

呵呵,从学习js开始到现在总共也就做过3个游戏,太少了。打算等做了更多游戏后,我再从你那里借几个游戏过来,做个小型的专题网站,你看如何 :D

编辑历史:[这消息被sTarsjz编辑过(编辑时间2002-08-17 13:43:34)]


sunten

职务:普通成员
等级:4
金币:0.0
发贴:129
注册:2002/2/17 21:17:15
#52002/8/17 18:42:53
很好呀
厉害也



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#62002/8/18 13:04:15
贴上源代码,都是javascript经常用的最基本的语法,里边有比较详细的注释,提供给需要学习javascript的朋友 :)






编辑历史:[这消息被sTarsjz编辑过(编辑时间2002-08-18 13:04:31)]
[这消息被sTarsjz编辑过(编辑时间2002-08-18 13:05:41)]


5D非线性编辑版主

职务:版主
等级:7
金币:29.0
发贴:6498
注册:2002/3/24 5:05:35
#72002/8/19 18:55:24
JS也能写游戏??

你强啊



darkvn

职务:普通成员
等级:1
金币:1.0
发贴:222
注册:2001/11/12 18:23:41
#82002/8/20 15:25:19
出个课题。

泡泡龙,大家都玩过吧?

有没有信心用js写一个? ;)



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#92002/8/20 18:33:16
小混在上个帖子中说

引用:
出个课题。

泡泡龙,大家都玩过吧?

有没有信心用js写一个?


没玩过

记得以前用Tc写台球, 在处理碰撞上总是有误差



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#102002/8/26 18:13:07
程序作过一些改进。

这是改进之前的
vip.5dmedia.com/star/star/game/hanoi/hnt.htm
这是改进之后的
vip.5dmedia.com/star/star/game/hanoi/hnt.html

改进:

1 用document.write一次输出大量数据时,浏览器会很长时间才显示输出结果。
解决办法是用setTimeout控制输出HTML数据

2 加入了进度条

编辑历史:[这消息被sTarsjz编辑过(编辑时间2002-08-26 18:17:44)]
[这消息被sTarsjz编辑过(编辑时间2002-08-26 18:18:01)]
[这消息被sTarsjz编辑过(编辑时间2002-08-26 18:18:32)]


mantou_5d

职务:普通成员
等级:3
金币:1.0
发贴:437
注册:2002/10/27 0:08:41
#112003/2/24 16:57:25
谁要出专题:我这个可以算一个吗?
www.5dmedia.com/bbs/NewsDetail.asp?id=685923



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
注册:2002/7/25 21:24:11
#122003/2/26 15:18:42
斑竹大人亲自出手……

如果我的能力够,也参与一下好了……



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#132003/2/26 15:36:56
没代码保护,安全性得不到保证


D:)S



mantou_5d

职务:普通成员
等级:3
金币:1.0
发贴:437
注册:2002/10/27 0:08:41
#142003/2/26 17:08:49
什么意思?什么叫代码保护,你说的是代码加密吗?什么安全性?请不厌其烦,详细解释,你说的是代码没有加密吗?