3D屏保程式 漢諾塔

2022-02-20 22:12:29 字數 849 閱讀 9691

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

遊戲說明:

"hanoisp.scr"全屏可執行程式

"hanoi.exe"視窗可執行程式

滑鼠左鍵右鍵拖動,調節視角.

滑鼠滾輪,調節攝像機的遠近.

x,恢復為預設視角並停止視角旋轉.

空格,p,暫停與恢復.

esc,退出.

r,漢諾塔重新開始.

[,- 減少漢諾塔層數.最小為2

],= 增加漢諾塔層數.最多為25

屏保設定方式

xp:將目錄下的所有檔案拷貝到windows系統目錄下如"c:\windows\system32"

win7,win8:將目錄下的所有檔案拷貝到"c:\windows\syswow64"或"c:\windows\syswow32"目錄下

在設定屏保的對話方塊中,選擇"hanoisp"

漢諾塔合集之漢諾塔3

漢諾塔3 步驟分析 1.當只有乙個圓盤時,要從a到b再到c 2.同樣擴充套件經典漢諾塔問題來看,先把a柱上 n 1 個圓盤,經b移動到c 3.把最後乙個圓盤從a移動到b 4.把c柱上的 n 1 個圓盤,經b移動 移回 到a 5.把b上的最後乙個圓盤從b移到c 6.最後把a上的 n 1 個圓盤經過b移...

漢諾塔程式

include stdio.h void move char x,char y 自定義move函式,用來將塊從起始柱子x移動到目標柱子y,這裡的x,y為形參,不代表具體哪根柱子 void hannuota int n,char a,char b,char c 自定義hannuota函式,這裡的a,b...

漢諾塔完整程式小結

漢諾塔問題 漢諾塔的演算法就3個步驟 第一,把a上的n 1個盤通過c移動到b。第二,把a上的最下面的盤移到c。第三,因為n 1個盤全在b上了,所以把b當做a重複以上步驟就好了。所以演算法看起來就簡單多了。不過,思考過程還是很痛苦的,難以理解。遞迴中會儲存資料的好處在這裡又得到體現 2014 4 2 ...