<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<script language="javascript" type="text/javascript">
var MAXHEIGHT = 8;
var ndisk;
var timer = null;
var mvfrom = new Array( 255 );
var mvto = new Array( 255 );
var mv, imv;
var tower = new Array( 3 );
var h = new Array( 3 );
var spc = " ";
var dname = new Array(
"|",
"111",
"22222",
"3333333",
"444444444",
"55555555555",
"6666666666666",
"777777777777777",
"88888888888888888" );
function init()
{
if ( ! timer )
{
s = document.formHanoi.disk.options[document.formHanoi.disk.selectedIndex].value;
if ( s == "random" )
{
now = new Date();
ndisk = parseInt( now.getTime() / 1000 ) % 8 + 1;
delete now;
}
else ndisk = s;
mv = 0;
hanoi( 0, 2, 1, ndisk );
for ( i = 0; i < 3; i ++ )
tower[i] = new Array( MAXHEIGHT );
for ( i = 0; i < ndisk; i ++ )
tower[0][i] = ndisk - i;
h[0] = ndisk;
h[1] = h[2] = 0;
imv = 0;
document.formHanoi.display.value = gentower();
timer = window.setTimeout( "gennexttower()", document.formHanoi.delay.options[document.formHanoi.delay.selectedIndex].value );
}
}
function stop()
{
if ( timer )
{
window.clearTimeout( timer );
timer = null;
}
}
function hanoi( from, to, buf, nmv )
{
if ( nmv > 1 )
{
hanoi( from, buf, to, nmv - 1 );
mvfrom[mv] = from;
mvto[mv ++ ] = to;
hanoi( buf, to, from, nmv - 1 );
}
else
{
mvfrom[mv] = from;
mvto[mv ++ ] = to;
}
}
function gennexttower()
{
tower[mvto[imv]][h[mvto[imv]] ++ ] = tower[mvfrom[imv]][ -- h[mvfrom[imv]]];
document.formHanoi.display.value = gentower();
if ( ++ imv < mv )
timer = window.setTimeout( "gennexttower()", document.formHanoi.delay.options[document.formHanoi.delay.selectedIndex].value );
else
{
for ( i = 0; i < 3; i ++ )
delete tower[i];
timer = null;
}
}
function gentower()
{
s = " \n";
for ( i = MAXHEIGHT - 1; i >= 0; i -- )
{
for ( j = 0; j < tower.length; j ++ )
{
len = i < h[j] ? tower[j][i] : 0;
width = MAXHEIGHT - len;
s += " " + spc.substring( 0, width ) + dname[len] + spc.substring( 0, width );
}
s += "\n";
}
return s + "=======================================================";
}
</script>
<form name=formHanoi>
<textarea name=display rows=10 cols=56></textarea>
<br>
<table border=0 cellspacing=10 cellpadding=0>
<tr>
<td>层数</td>
<td><select name=disk>
<option selected value=random>随机
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
<option value=6>6
<option value=7>7
<option value=8>8
</select></td>
</tr>
<tr>
<td>延时</td>
<td><select name=delay>
<option value=100>100 毫秒
<option value=200>200 毫秒
<option value=300>300 毫秒
<option value=400>400 毫秒
<option selected value=500>500 毫秒
<option value=600>600 毫秒
<option value=700>700 毫秒
<option value=800>800 毫秒
<option value=900>900 毫秒
<option value=1000>1000 毫秒
</select></td>
</tr>
</table>
<input type=button value="开始" onClick="init();">
<input type=button value="停止" onClick="stop();">
</form>
</body>
</html>
没有合适的资源?快使用搜索试试~ 我知道了~
Javascript面向对象基础.rar
共1246个文件
htm:1178个
html:24个
js:18个
需积分: 3 1 下载量 138 浏览量
2011-03-20
08:04:40
上传
评论
收藏 549KB RAR 举报
温馨提示
Javascript面向对象基础.rar
资源推荐
资源详情
资源评论
收起资源包目录
Javascript面向对象基础.rar (1246个子文件)
server.asp 927B
JSONP异步通信协议_serve.asp 775B
script异步通信之参数传递_serve(gb2312编码).asp 228B
script异步通信之参数传递_serve.asp 187B
获取响应信息_serve.asp 185B
XML_server.asp 168B
向服务器端传递数据_serve.asp 123B
跟踪Ajax异步通信状态_serve.asp 123B
向服务器端传递数据_serve1.asp 116B
向服务器端传递数据_serve2.asp 106B
使用XMLHttpRequest发送请求_serve.asp 15B
out.css 83B
css.css 41B
css.gif 4KB
js.gif 4KB
loading.gif 3KB
index.htm 6KB
读取XML数据2.htm 6KB
15.3.6 可视区域外滚动尺寸1.htm 4KB
15.3.6 可视区域外滚动尺寸.htm 4KB
cookie应用.htm 4KB
15.3.2 把抽取的尺寸转化为实际值1.htm 3KB
13.2.6 通过原型继承扩展DOM元素的方法2.htm 3KB
15.3.5 更复杂的元素尺寸.htm 3KB
15.3.5 更复杂的元素尺寸1.htm 3KB
15.3.4 超越offsetWidth和offsetHeight的缺陷2.htm 3KB
15.4.7 获取鼠标指针在元素内的位置2.htm 3KB
孔明点灯—JavaScript接口实现3.htm 2KB
15.6.3 渐隐渐显.htm 2KB
15.6.2 滑动.htm 2KB
cookie封装1.htm 2KB
14.6.2.2 鼠标移动事件类型.htm 2KB
15.3.2 把抽取的尺寸转化为实际值.htm 2KB
cookie封装.htm 2KB
11.4.1 简单重复性匹配.htm 2KB
15.4.5 设置元素的相对位置.htm 2KB
script异步通信之响应数据类型_main.htm 2KB
13.2.5.3 扩展nextSibling和previousSibling指针函数2.htm 2KB
15.4.2 获取元素相对父元素的位置.htm 2KB
13.2.6 通过原型继承扩展DOM元素的方法1.htm 2KB
2.1.4 输出杨辉三角.htm 2KB
JSONP异步通信协议_main.htm 2KB
封装异步请求函数.htm 1KB
10.4.1.1 截取字符串左侧指定数目的字符—left()方法.htm 1KB
5.5.1 逻辑与运算3.htm 1KB
九宫算术算法设计.htm 1KB
15.4.3 获取元素相对包含块的位置.htm 1KB
10.4.2 检测特殊字符.htm 1KB
15.4.4 设置元素的偏移位置.htm 1KB
15.3.1 从CSS样式表中抽取元素尺寸1.htm 1KB
10.3.8 把字符串转换为数组.htm 1KB
10.5.4 自定义加密和解密方法2.htm 1KB
15.5.3 设置和获取元素的透明度1.htm 1KB
15.4.1 获取元素在浏览器窗口中的位置.htm 1KB
探测浏览器是否启用cookie.htm 1KB
2.4.4 异常处理.htm 1KB
13.2.5.3 扩展nextSibling和previousSibling指针函数1.htm 1KB
函数式编程中闭包的价值5.htm 1KB
函数式编程中闭包的价值4.htm 1KB
2.4.1 简单的手工调试.htm 1KB
2.4.3 使用Microsoft Script Debugger进行调试.htm 1KB
2.4.2 使用1st JavaScript Editor调试器进行调试.htm 1KB
5.3.1 加法的特殊运算.htm 1KB
14.6.3.3 keyCode和charCode属性.htm 1KB
15.5.2 显示和隐藏功能封装.htm 1KB
数据加载错误处理.htm 1KB
回调处理_main.htm 1KB
2.1.2 递归算法设计.htm 1KB
15.4.8 获取页面滚动条的位置.htm 1KB
类继承2.htm 1KB
14.6.2.6 封装并应用鼠标定位设计方案1.htm 1KB
JSON_main.htm 1KB
9.5.3 为数组扩展通用迭代器2.htm 1KB
14.6.4.6 窗口重置—resize事件类型.htm 1KB
10.5.4 自定义加密和解密方法1.htm 1KB
15.4.6 获取鼠标指针的页面位置.htm 1KB
13.2.7 增加文档内容.htm 1KB
递归算法的优化1.htm 1KB
8.8.3 时间管理—Date对象.htm 1KB
4.4.1.4 设计更安全的数据类型检测方法.htm 1KB
15.2.2.5 内行样式设置实战.htm 1KB
script异步通信之参数传递_main_asp.htm 1012B
13.2.4 实现一个简单的文档遍历1.htm 1010B
5.3.2 减法的特殊运算.htm 999B
递归算法的优化2.htm 999B
2.1.3 优化算法设计.htm 997B
script异步通信之参数传递_main_asp(gb2312编码).htm 993B
15.4.7 获取鼠标指针在元素内的位置.htm 993B
15.4.7 获取鼠标指针在元素内的位置1.htm 989B
操作原型属性7.htm 984B
11.5.3 引用1.htm 981B
5.8.3 IO接口—存取运算符2.htm 969B
11.5.2 分组的应用价值.htm 962B
封装类继承机制1.htm 958B
5.8.3 IO接口—存取运算符1.htm 956B
12.4.1 全球定位仪—Location对象.htm 952B
13.2.3 文档遍历中的空格Bug及其清除1.htm 947B
11.5.7 边界.htm 943B
14.6.6.1 选择文本—select事件类型.htm 942B
递归算法的优化.htm 940B
共 1246 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
gkf986512
- 粉丝: 4
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功