3D屏保程序:漢諾塔


      學過程序的人一定記得漢諾塔.我們學的第一個程序是HelloWorld,而碰到的第一個坑就是漢諾塔,短短十幾行代碼,不知花費了多少時間精力去理解.我記得當年的開發環境還是藍屏的,漢諾塔程序的輸出還是一行行枯燥無趣的字符串.現在重寫了這個程序,以三維可視化的方式看下漢諾塔的運行過程.

 

 1 void hanoi(char src, char mid, char dst, Yuint stacks, Ychar* pMoveSteps, Yuint& index)  2 {  3     if (stacks == 1)  4  {  5         Ychar& value = pMoveSteps[index];  6         value = (src<<4) + dst;  7         //printf("Move disk %d from %c to %c\n", n, src, dst);
 8         index++;  9  } 10     else 
11  { 12         hanoi(src, dst, mid, stacks - 1, pMoveSteps, index); 13         Ychar& value = pMoveSteps[index]; 14         value = (src<<4) + dst; 15         index++; 16         //printf("Move disk %d from %c to %c\n", n, src, dst);
17         hanoi(mid, src, dst, stacks - 1, pMoveSteps, index); 18  } 19 }

 

游戲說明:

"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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM