3D屏保程序:汉诺塔

学过程序的人一定记得汉诺塔.我们学的第一个程序是HelloWorld,而碰到的第一个坑就是汉诺塔,短短十几行代码,不知花费了多少时间精力去理解.我记得当年的开发环境还是蓝屏的,汉诺塔程序的输出还是一行行枯燥无趣的字符串.现在重写了这个程序,以三维可视化的方式看下汉诺塔的运行过程.

3D屏保程序:汉诺塔

3D屏保程序:汉诺塔

 void hanoi(char src, char mid, char dst, Yuint stacks, Ychar* pMoveSteps, Yuint& index)
{
if (stacks == )
{
Ychar& value = pMoveSteps[index];
value = (src<<) + dst;
//printf("Move disk %d from %c to %c\n", n, src, dst);
index++;
}
else
{
hanoi(src, dst, mid, stacks - , pMoveSteps, index);
Ychar& value = pMoveSteps[index];
value = (src<<) + dst;
index++;
//printf("Move disk %d from %c to %c\n", n, src, dst);
hanoi(mid, src, dst, stacks - , pMoveSteps, index);
}
}

游戏说明:

"HanoiSP.scr"全屏可执行程序
"Hanoi.exe"窗口可执行程序

鼠标左键右键拖动,调节视角.
鼠标滚轮,调节摄像机的远近.
X,恢复为默认视角并停止视角旋转.
空格,P,暂停与恢复.
ESC,退出.

R,汉诺塔重新开始.
[,- 减少汉诺塔层数.最小为2
],= 增加汉诺塔层数.最多为25

屏保设置方式
XP:将目录下的所有文件拷贝到WINDOWS系统目录下如"C:\WINDOWS\system32"
WIN7,WIN8:将目录下的所有文件拷贝到"C:\WINDOWS\SysWOW64"或"C:\WINDOWS\SysWOW32"目录下
在设置屏保的对话框中,选择"HanoiSP"

下载地址:

http://files.cnblogs.com/WhyEngine/Hanoi.rar

上一篇:用python turtle实现汉诺塔的移动


下一篇:老李分享:Uber究竟是用什么开发语言? 2