當前位置:首頁 » 課程大全 » mfc漢諾塔游戲課程設計

mfc漢諾塔游戲課程設計

發布時間: 2021-03-03 15:14:32

㈠ 如何做一個C語言編程的漢諾塔游戲要有源代碼。

^#include<stdio.h>
void move(char x,char y)
{
printf("%c-->%c\n",x,y);
}
void hanoi(int n,char one ,char two,char three)
{
if(n==1) move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
main()
{
int m;
printf("input the number of disks:");
scanf("%d",&m);
printf("the step to moving %3d diskes:\n",m);
hanoi(m,'A','B','C');
}
演算法介紹:
其實演算法非常簡單,當盤子的個數為n時,移動的次數應等於2^n – 1(有興趣的可以自己證明試試看)。後來一位美國學者發現一種出人意料的簡單方法,只要輪流進行兩步操作就可以了。首先把三根柱子按順序排成品字型,把所有的圓盤按從大到小的順序放在柱子A上,根據圓盤的數量確定柱子的排放順序:若n為偶數,按順時針方向依次擺放 A B C;
若n為奇數,按順時針方向依次擺放 A C B。
(1)按順時針方向把圓盤1從現在的柱子移動到下一根柱子,即當n為偶數時,若圓盤1在柱子A,則把它移動到B;若圓盤1在柱子B,則把它移動到C;若圓盤1在柱子C,則把它移動到A。
(2)接著,把另外兩根柱子上可以移動的圓盤移動到新的柱子上。即把非空柱子上的圓盤移動到空柱子上,當兩根柱子都非空時,移動較小的圓盤。這一步沒有明確規定移動哪個圓盤,你可能以為會有多種可能性,其實不然,可實施的行動是唯一的。
(3)反復進行(1)(2)操作,最後就能按規定完成漢諾塔的移動。
所以結果非常簡單,就是按照移動規則向一個方向移動金片:
如3階漢諾塔的移動:A→C,A→B,C→B,A→C,B→A,B→C,A→C
漢諾塔問題也是程序設計中的經典遞歸問題,下面我們將給出遞歸和非遞歸的不同實現源代碼。

㈡ 如何用MFC製作漢諾塔

http://z.download.csdn.net/download/_29534287/9309905
http://download.csdn.net/download/xiaotou1328850936/3951597
網路搜索一大堆

㈢ 漢諾塔游戲規則

漢諾游戲來規則如下:

1、有三根自相鄰的柱子,標號為A,B,C。

2、A柱子上從下到上按金字塔狀疊放著n個不同大小的圓盤。

3、現在把所有盤子一個一個移動到柱子B上,並且每次移動同一根柱子上都不能出現大盤子在小盤子上方。

其實漢諾塔只要掌握規律,多少層都是一樣的。

最重要的是第一塊放在哪兒,單數層的漢諾塔一定要放在第三柱,雙數層的要放在第二柱。

如果你會六層的漢諾塔,(將第一塊放在第三柱),將六塊都移到第二柱,最後一塊移到第三柱,

再如前法將上面六塊都移到第三柱。

(3)mfc漢諾塔游戲課程設計擴展閱讀

漢諾塔:漢諾塔(又稱河內塔)問題是源於印度一個古老傳說的益智玩具。

大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。

並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。

漢諾塔網路

㈣ 用才c++編程漢諾塔游戲

參考一下VC知識庫的文章,也可以去CSDN下載
http://www.vckbase.com/document/viewdoc/?id=1784

㈤ 七層的漢諾塔游戲最少幾步完成

七層的漢諾塔游戲最少需要127步。

其實演算法非常簡單,當盤子的個數為n時,移動的次數應等於2^n – 1。後來一位美國學者發現一種出人意料的簡單方法,只要輪流進行兩步操作就可以了。

首先把三根柱子按順序排成品字型,把所有的圓盤按從大到小的順序放在柱子A上,根據圓盤的數量確定柱子的排放順序:若n為偶數,按順時針方向依次擺放 A B C;

若n為奇數,按順時針方向依次擺放 A C B。

⑴按順時針方向把圓盤1從現在的柱子移動到下一根柱子,即當n為偶數時,若圓盤1在柱子A,則把它移動到B;若圓盤1在柱子B,則把它移動到C;若圓盤1在柱子C,則把它移動到A。

⑵接著,把另外兩根柱子上可以移動的圓盤移動到新的柱子上。即把非空柱子上的圓盤移動到空柱子上,當兩根柱子都非空時,移動較大的圓盤。這一步沒有明確規定移動哪個圓盤,你可能以為會有多種可能性,其實不然,可實施的行動是唯一的。

⑶反復進行⑴⑵操作,最後就能按規定完成漢諾塔的移動。

所以結果非常簡單,就是按照移動規則向一個方向移動金片:如3階漢諾塔的移動:A→C,A→B,C→B,A→C,B→A,B→C,A→C。漢諾塔問題也是程序設計中的經典遞歸問題。

(5)mfc漢諾塔游戲課程設計擴展閱讀

漢諾塔是一個關於世界末日的古老的傳說,在世界中心貝拿勒斯(在印度北部)的聖廟里,安放著一個漢諾塔,有64塊金片。梵天在創造世界的時留下的。由值班的僧侶法則日夜不停地搬運。當搬運完畢時,也就是世界的末日。

漢諾塔是源於印度一個古老傳說的益智游戲。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。

大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。隨著盤數的增加,需要移動的次數也會越來越多,問題就變得越來越復雜,一個不小心就可能出錯。

漢諾塔還有個最關鍵的問題就是第一步的第一小步是將頂層圓盤挪至輔助柱還是還是目標柱的問題。說它關鍵,是因為一步錯,步步錯。第一步走錯了,後面再怎麼走,也不會走對。

經過推理與分析,找到了問題的答案:若塔層數為奇數,頂層圓盤應首先放在目標柱;若是偶數,則放在輔助柱。

㈥ 漢諾塔游戲的程序設計和具體的程序

本人有個用易語言編寫的實例,很直觀。要的話可以發給你,不過你得安裝易語言專程序,頂一下國產編屬程軟體吧,這款編程工具也不差的,用了就知道。
http://www.dywt.com.cn/vbs/index.asp

㈦ 使用flash cs5製作一款漢諾塔游戲,有詳細教程的大神拜託了

㈧ 用VB如何編程「漢諾塔」游戲的程序代碼啊是那種編好後就能移動盤子,帶圖片的

漢諾塔的盤子大小不一樣總不能用image一個個拖吧 要是寫純語言的vb乾脆不如用c#

㈨ 漢諾塔程序設計

程序三個方法 void move(char x,char y),起到列印作用
void hanoi(int n,char one ,char two,char three),這個是演算法部分,其實就是遞歸版他,處理不同的情況,這個也是此程序最權本質的函數
還有就是void main(),這是入口函數,程序從這里之行,這程序主要是要你了解什麼叫遞歸,不懂可以查查,這個也是程序設計的基本知識

㈩ 如何做一個C語言編程的漢諾塔游戲

#include<stdio.h>
void move(char x,char y)
{
printf("%c-->%c\n",x,y);
}
void hanoi(int n,char one ,char two,char three)
{
if(n==1) move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
main()
{
int m;
printf("input the number of disks:");
scanf("%d",&m);
printf("the step to moving %3d diskes:\n",m);
hanoi(m,'A','B','C');
}
演算法介紹:
其實演算法非常簡單,當盤子的個數為n時,移動的次數應等於2^n – 1(有興趣的可以自己證明試試看)。後來一位美國學者發現一種出人意料的簡單方法,只要輪流進行兩步操作就可以了。首先把三根柱子按順序排成品字型,把所有的圓盤按從大到小的順序放在柱子A上,根據圓盤的數量確定柱子的排放順序:若n為偶數,按順時針方向依次擺放 A B C;
若n為奇數,按順時針方向依次擺放 A C B。
(1)按順時針方向把圓盤1從現在的柱子移動到下一根柱子,即當n為偶數時,若圓盤1在柱子A,則把它移動到B;若圓盤1在柱子B,則把它移動到C;若圓盤1在柱子C,則把它移動到A。
(2)接著,把另外兩根柱子上可以移動的圓盤移動到新的柱子上。即把非空柱子上的圓盤移動到空柱子上,當兩根柱子都非空時,移動較小的圓盤。這一步沒有明確規定移動哪個圓盤,你可能以為會有多種可能性,其實不然,可實施的行動是唯一的。
(3)反復進行(1)(2)操作,最後就能按規定完成漢諾塔的移動。
所以結果非常簡單,就是按照移動規則向一個方向移動金片:
如3階漢諾塔的移動:A→C,A→B,C→B,A→C,B→A,B→C,A→C
漢諾塔問題也是程序設計中的經典遞歸問題,下面我們將給出遞歸和非遞歸的不同實現源代碼。

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919