1 / 13
文档名称:

汉诺塔游戏演示.ppt

格式:ppt   大小:549KB   页数:13页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

汉诺塔游戏演示.ppt

上传人:85872037 2018/6/11 文件大小:549 KB

下载得到文件列表

汉诺塔游戏演示.ppt

相关文档

文档介绍

文档介绍:汉诺塔游戏演示
游戏来源
汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。解答结果请自己运行计算,程序见尾部。面对庞大的数字(移动圆片的次数)18446744073709551615,看来,众僧们耗尽毕生精力也不可能完成金片的移动。 后来,这个传说就演变为汉诺塔游戏
问题要求
汉诺塔益智游戏,完成以下功能:在平面上有A,B,C,三个位置,在A位置上有N个大小不等得长方形塔,从上至下,依次排列,要求将A位置得N个长方形,通过B位置,移动到C位置
设计思想
定义一个position类,它名含友元类disk,其次有公有成员:过关条件判断函数 check(),HANO塔显示函数display(),HANO塔初始化函数initial();对于HANO塔数据int a[10] ; int b[10]; int c[10]则为保护成员,这组数据是在游戏时用来动态显示游戏过程最重要的一组数据。设为保护成员是为了便于以后派生类disk的访问
派生类disk是对基类position的公有继承,e(),演示中的移动函数mov(char x,char y,int N),递归演示函数hano(int n,char a,char b,char c,int N)
递归函数
选择函数
显示函数
移动函数
演示函数
汉诺塔游戏
程序设计流程图
优点:(1)这个程序可以简单的进行游戏演示,分为1-7关,第一关为3个盘子,第二关有4个盘子,第三关有5个盘子…...
(2)可以显现每步移动的方向,可视化界面
(3)程序稍加变化,就可以自动演示
缺点:(1)由于时间仓促和对知识的掌握还不够,在游戏进行时,没有记录游戏时所用的时间或步骤数
(2)游戏只能做长方形塔个数在10以内的个数。
程序功能解析
显示函数
演示移动函数
递归演示函数
程序类说明
Disk类说明
程序手动测试画面