- 浏览: 74067 次
-
文章分类
- 全部博客 (38)
- ddddddddddd (1)
- java (37)
- Spring中Quartz的Cron表达式详解 (1)
- ORACLE中一个字符占多少字节 (1)
- sssdfd (1)
- jquery演示汉诺塔移动过程 (1)
- PHP中include和require (1)
- 试用CountDownLatch的副成品,多线程群发邮件小程序 (1)
- 金山词霸2005采用新的防止盗版的方法及简单解决方法 (1)
- 如何每天多给自己一小时? (1)
- 时间管理101招 (1)
- Eclipse扩展点笔记 (1)
- ERROR: the user data image is used by another emulator. aborting (1)
- GML对象的层次结构 (1)
- Java读取Word/Excel/PDF可以使用的第三方包 (1)
- 海水与火焰——领导眼中两种不同类型的员工 (1)
- 攘外必先安内 稳定才能发展 员工也是上帝 (1)
- 基于SVG技术实现WebGIS的基本功能(2) (1)
- MapXtreme2004代码 几个地图工具的使用(C#) (1)
- C#编写最小化到系统托盘的Windows应用程序 (1)
- iOS开发之详解剪贴板 (1)
- iOS开发之结合asp.net webservice实现文件上传下载 (1)
- VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布 (1)
- wp数据库方案 (1)
- No action instance for path /leftTreeMenu could be created (1)
- OracleOraDb10g_home1TNSListener服务启动后又停止了 (1)
- 将多个Excel文件合并成一个的源码 (1)
- 悲催的this悲催的new (1)
- 搜索maven依赖的网站推荐 (1)
- Errors occurred during the build. Errors running builder 'JavaScript Validator' (1)
- [转]PKCS12 证书的生成及验证 (1)
- android: not find device (1)
- [转载]对session和cookie的一些理解 (1)
- 域名选择的那些事 (1)
- EJB 调用原理及原因 (1)
最新评论
-
houxinyou:
不论做员工还是做领导,我都喜欢海水!如果每个人都把该自己做的事 ...
海水与火焰——领导眼中两种不同类型的员工 -
zui4yi1:
可以推广到各行各业。
攘外必先安内 稳定才能发展 员工也是上帝
前几天用递归写汉诺塔程序,写了半天没写出来(呵呵,比较笨啊),后来在网上搜了下代码才恍然大悟。
今天下午上班闲着没事就写了个演示汉诺塔的移动过程的js,开始写的很顺利,就是在写完后,发现前一个圆盘没移动完,后一个圆盘就开始移动了。后来下班的时候在路上有了思路,用个标识符记录是第几步,然后用setTimeout进行等待(这个应该和线程差不多,工作以来一直没写过关于线程的程序,以前学的东西都忘了,所以想的时候费了点力气)。
代码比较粗糙,也没整理,有很多变量都是写死的,大家凑合看把。第一次发帖,大家轻喷,呵呵。
先输入圆盘的数量,点击确定,然后再点击move就可以了。
var R = ["00","11","22","33","44","55","66","77","88","99","AA","BB","CC","DD","EE","FF"]; var A = {ele:new Array(),top:500,left:200}; var B = {ele:new Array(),top:500,left:350}; var C = {ele:new Array(),top:500,left:500}; var amount; var i=0; $(function(){ $("#ofcourse").click(function(){ $(".pan").remove(); amount = $("#amount").val(); for(var i = amount; i > 0; i--){ var newDiv = $("<div id='"+i+"'>"+i+"</div>"); var color = "#" + getRandom() + getRandom() + getRandom(); var width = i*20+1; var left = parseInt($(".A").css("left")) - (width-1)/2; var top = parseInt($(".bottom").css("top")) - (amount-i+1)*13; newDiv.addClass("pan"); newDiv.css({width:width+"px",left:left+"px",top:top+"px","background-color":color}); newDiv.appendTo("body"); A.ele.push(i); } A.top = parseInt($(".bottom").css("top")) - amount*13; }); $("#mover").click(function(){ hnt(amount,A,B,C); }); }); function getRandom(){ return R[parseInt(Math.random()*16)]; } function hnt(n,a,b,c){ if(n==1){ setTimeout(function(){move(a,c)},i*3*500); i++; } else{ hnt(n-1,a,c,b); setTimeout(function(){move(a,c)},i*3*500); i++; hnt(n-1,b,a,c); } } function move(x,y){ var xtop = x.top; var ytop = y.top; var xele = x.ele; var yele = y.ele; var moveEle = xele[xele.length-1]; x.top = xtop + 13; y.top = ytop - 13; x.ele.pop(); y.ele.push(moveEle); $("#"+moveEle).animate({top:"190"},500).animate({left:y.left-moveEle*10},500).animate({top:y.top+"px"},500); }
- 汉诺塔.rar (27.4 KB)
- 下载次数: 24
<ul style="display:none;">
</ul>
<ul style="display:none;">
</ul>
发表评论
-
EJB 调用原理及原因
2012-02-04 15:03 1114这里就结合WebSphere ... -
域名选择的那些事
2012-02-04 14:08 1028自从打定主意要自 ... -
[转载]对session和cookie的一些理解
2012-02-03 16:24 817由于项目需要,最近用session容器比较多,传载的同 ... -
android: not find device
2012-02-02 14:14 800每次修改framework/base/core/... ... -
[转]PKCS12 证书的生成及验证
2012-02-02 13:29 5090http://blog.csdn.net/kmyhy/ ... -
Errors occurred during the build. Errors running builder 'JavaScript Validator'
2012-01-31 14:53 20654<p>在myeclipse自动编译的时候, ... -
搜索maven依赖的网站推荐
2012-01-31 14:33 1147 &nb ... -
悲催的this悲催的new
2012-01-31 14:28 799今天才发现,原来我对this的理解竟然如此模糊,原来我 ... -
将多个Excel文件合并成一个的源码
2012-01-11 11:34 9238源码是在poi-3.1-FINAL-20080629版 ... -
OracleOraDb10g_home1TNSListener服务启动后又停止了
2011-12-28 15:58 1721Oracle 启动报错:OracleOraDb10g_ ... -
No action instance for path /leftTreeMenu could be created
2011-12-28 12:33 1321<span style="font-f ... -
wp数据库方案
2011-12-21 15:49 1383----------->转帖: <div ... -
VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布
2011-12-20 14:43 4673[size=18px;]为什么要在VS2008中使用 ... -
iOS开发之结合asp.net webservice实现文件上传下载
2011-12-19 15:09 3753iOS开发中会经常用到文件上传下载的功能,这篇文件将介 ... -
iOS开发之详解剪贴板
2011-12-19 14:33 1490在iOS中,可以使用剪贴板实现应用程序之中以及应用程序 ... -
C#编写最小化到系统托盘的Windows应用程序
2011-12-15 13:59 1030</span></span>& ... -
MapXtreme2004代码 几个地图工具的使用(C#)
2011-12-15 11:29 772<p class="MsoNormal ... -
基于SVG技术实现WebGIS的基本功能(2)
2011-12-14 13:34 559<p class="MsoNorma ... -
攘外必先安内 稳定才能发展 员工也是上帝
2011-12-14 09:04 1059不少公司都有顾客满意度的调查。在年初时候设定一个目标, ... -
海水与火焰——领导眼中两种不同类型的员工
2011-12-13 09:54 983头一段时间,业务扩大,一个Team拆分成两个Team。 ...
相关推荐
2. **自动演示**:当用户选择自动演示模式时,使用递归算法计算出所有移动步骤,并依次执行这些移动,通过改变盘子的位置来模拟移动过程。递归算法基于汉诺塔问题的解决方案,即A柱子上的n个盘子移到C柱子,借助B...
在本案例中,我们使用jQuery这个流行的JavaScript库来实现汉诺塔的可视化动态演示。jQuery提供了一套简洁的API,使得操作DOM(文档对象模型)变得更加方便,从而可以轻松地创建交互式的网页应用。 首先,我们需要...
在这个"汉诺塔动画演示(html+js+css 鼠标拖拽以及点击按钮练习功能+手机端适配)"项目中,开发者使用了Web技术栈,包括HTML5、JavaScript、CSS和jQuery,来创建一个交互式的汉诺塔游戏。HTML5是网页的基础结构语言,...
在`JS汉诺塔源码.txt`文件中,你应该能找到类似这样的实现,通过对`hanoi`函数的调用来演示不同层数的汉诺塔,例如: ```javascript let numDiscs = 3; // 指定汉诺塔的层数 hanoi(numDiscs, 'A', 'C', 'B'); ``` ...