- 浏览: 73664 次
文章分类
- 全部博客 (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 1107这里就结合WebSphere ... -
域名选择的那些事
2012-02-04 14:08 1016自从打定主意要自 ... -
[转载]对session和cookie的一些理解
2012-02-03 16:24 813由于项目需要,最近用session容器比较多,传载的同 ... -
android: not find device
2012-02-02 14:14 791每次修改framework/base/core/... ... -
[转]PKCS12 证书的生成及验证
2012-02-02 13:29 5055http://blog.csdn.net/kmyhy/ ... -
Errors occurred during the build. Errors running builder 'JavaScript Validator'
2012-01-31 14:53 20642<p>在myeclipse自动编译的时候, ... -
搜索maven依赖的网站推荐
2012-01-31 14:33 1129 &nb ... -
悲催的this悲催的new
2012-01-31 14:28 784今天才发现,原来我对this的理解竟然如此模糊,原来我 ... -
将多个Excel文件合并成一个的源码
2012-01-11 11:34 9225源码是在poi-3.1-FINAL-20080629版 ... -
OracleOraDb10g_home1TNSListener服务启动后又停止了
2011-12-28 15:58 1709Oracle 启动报错:OracleOraDb10g_ ... -
No action instance for path /leftTreeMenu could be created
2011-12-28 12:33 1312<span style="font-f ... -
wp数据库方案
2011-12-21 15:49 1373----------->转帖: <div ... -
VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布
2011-12-20 14:43 4659[size=18px;]为什么要在VS2008中使用 ... -
iOS开发之结合asp.net webservice实现文件上传下载
2011-12-19 15:09 3737iOS开发中会经常用到文件上传下载的功能,这篇文件将介 ... -
iOS开发之详解剪贴板
2011-12-19 14:33 1479在iOS中,可以使用剪贴板实现应用程序之中以及应用程序 ... -
C#编写最小化到系统托盘的Windows应用程序
2011-12-15 13:59 1022</span></span>& ... -
MapXtreme2004代码 几个地图工具的使用(C#)
2011-12-15 11:29 754<p class="MsoNormal ... -
基于SVG技术实现WebGIS的基本功能(2)
2011-12-14 13:34 549<p class="MsoNorma ... -
攘外必先安内 稳定才能发展 员工也是上帝
2011-12-14 09:04 1046不少公司都有顾客满意度的调查。在年初时候设定一个目标, ... -
海水与火焰——领导眼中两种不同类型的员工
2011-12-13 09:54 974头一段时间,业务扩大,一个Team拆分成两个Team。 ...
相关推荐
### 汉诺塔移动演示 #### 知识点概览 1. **汉诺塔问题简介** 2. **递归算法实现** 3. **C#语言基础** - 基本数据类型与变量声明 - 控制台输入输出 - 方法定义与调用 4. **面向对象编程概念** 5. **程序调试与...
- 用户可以模拟实际操作汉诺塔的过程,通过点击六个按钮(对应三根柱子和三个方向的移动)来移动圆盘。 - 界面应实时更新,显示当前的汉诺塔状态,以便用户能跟踪操作进度。 在"RealHanoi"这个文件中,很可能包含了...
动态演示汉诺塔的移动过程,用户可以选择塔的数量和设置塔移动的速度。
它允许用户输入圆盘的数量,然后开始自动或手动演示移动过程。调速功能使用户能够根据自己的理解速度调整演示的速度,这对于初学者来说非常有用,因为他们可以逐步观察每个步骤。 手动操作模式让玩家可以直接参与...
2)按“开始”菜单演示汉诺塔移动过程,按“结束”菜单结束汉诺塔演示过程。 3)在客户区正确显示当前移动图示过程。 4)在客户区正确显示当前移动总次数、各金盘的移动次数和各针上发生的移动次数。 按“单步演示”...
本项目“动态演示汉诺塔的自动搬运过程”旨在通过可视化的方式,帮助初级程序员理解和掌握递归思想以及图形界面开发技术。下面将详细阐述相关知识点。 首先,汉诺塔游戏的核心在于将所有盘子从一根柱子移动到另一根...
在这款程序中,OpenGL被用来绘制汉诺塔的图形界面,包括三个柱子和若干个盘子,使得用户能够直观地看到盘子的移动过程。利用OpenGL的绘图函数,程序员可以精确控制盘子和柱子的形状、颜色、位置等特性,实现动态的...
这些规则包括:每次只能移动一个圆盘,且移动过程中,较大的圆盘不能覆盖在较小的圆盘之上。看似简单的规则背后,隐藏着复杂且巧妙的策略。 汉诺塔游戏的魅力在于它的策略性。解决汉诺塔问题的最直接方法便是递归...
通过响应按钮点击事件,调用递归函数并更新界面状态,以展示汉诺塔问题的移动过程。 总的来说,汉诺塔问题的图形演示结合了递归算法、C++编程以及图形用户界面设计,为学习者提供了直观理解复杂问题解决策略的机会...
在这个项目中,AWT用于构建动画界面,展示盘子的移动过程。 4. **图形界面编程**:创建汉诺塔的动态演示需要对GUI编程有深入理解,包括布局管理器、事件监听和处理、组件的绘制等。在这个程序中,可能使用了Canvas...
2. **自动演示**:当用户选择自动演示模式时,使用递归算法计算出所有移动步骤,并依次执行这些移动,通过改变盘子的位置来模拟移动过程。递归算法基于汉诺塔问题的解决方案,即A柱子上的n个盘子移到C柱子,借助B...
在这个问题中,我们通常面对的是三根柱子和一系列大小递减的圆盘,初始时所有圆盘按大小顺序堆叠在一根柱子上,目标是将它们全部移动到另一根柱子上,且在移动过程中,任何时刻都不允许将较大的圆盘放在较小的圆盘之...
描述中的"给出了计算结果和塔盘移动过程"意味着这个源码不仅实现了汉诺塔算法,还可能包含可视化界面,能够动态显示每个步骤,帮助初学者更好地理解这个过程。通过这样的可视化演示,用户可以直观地看到每个圆盘的...
图示移动过程的汉诺塔程序,盘子数量和移动数独可选择
汉诺塔游戏是一种经典的逻辑谜题,源自印度的古老传说,目标是将一叠大小不一的圆盘从一根柱子移动到另一根柱子,每次只能移动一个圆盘,并且大盘子不能位于小盘子之上。在这个过程中,还需要借助第三个柱子作为临时...
在实际编码过程中,理解递归的思想至关重要,这不仅适用于汉诺塔问题,还广泛应用于许多其他算法和数据结构的实现,如树的遍历、图的搜索等。通过这个过程,你不仅能学习到C语言的基础,还能深入理解递归的概念和...
汉诺塔演示程序结合了二叉树的演示动画,为学习和理解这两种计算机科学基础知识提供了一个生动直观的方式。首先,我们来深入探讨一下汉诺塔问题及其解决方案。 汉诺塔是一个经典的递归问题,由三个柱子和一堆大小...
汉诺塔动画演示则是将这一逻辑过程通过可视化的方式展示出来,帮助用户更好地理解和学习汉诺塔问题的解决策略。 在使用Visual Studio 2013开发汉诺塔动画演示时,开发者可能采用了C#或C++等编程语言,利用Windows ...
汉诺塔运行过程的图形演示 下载代码直接可以运行