汉诺塔游戏程序(附带演示功能)

环境:VS2017,MFC

语言:C++

功能:

打开 后您首先进入的是演示模式,若想进入游玩模式请点击“游玩模式”下的“进入”。点击“退出”可退出游玩模式回到演示模式。
确定好盘数与速度后点击“开始演示”,程序将自动演示汉诺塔移动方法。(速度数字越小,移动越快)您可以随时点击快速完成,电脑将以最快速度完成演示。完成后您可以通过点击“复位”或者直接改变盘数(或速度)来回到初始状态。
进入游玩模式后,点击每根柱子下相应的按钮,可以选中该柱最上面的圆盘,再点击另一个按钮,该圆盘便会被移动到相应柱子上。注意不要违反规则。点击“复位”可回到初始状态。将所有圆盘从 A 柱移到 C 柱即为成功完成。
有“无视规则”选项可以选择 ( 付费选项,可扫描弹出的二维码 ) ,但注意复位后便会重置该功能。 ( 无视规则模式:圆盘可以以任意顺序放在柱子上 )
有小彩蛋需要您来探索。

实现:

该程序基于 MFC 。用到了按钮、编辑框、图片控制框、上下箭头调整框等等。一个对话框类,定义与声明了其中各个控件的功能。一个 Plate 类和一个 Hanoi 类,负责柱子与圆盘的生成以及移动。自动演示功能由经典的汉诺塔递归算法实现,并且会显示出每一步具体的移动方式,游玩模式将由用户完全控制,用三个按钮实现了圆盘的选中以及移动,选中圆盘后会在相应圆盘四周画一个黑框,最终在信息箱子中显示所用步数。复位功能以及直接调整箭头,将直接重绘整个显示界面,以实现重置。
按下按钮将会实现相应功能,并且开启或关闭某些控件。上下箭头控制编辑框,需要打开自动寻找最近编辑框功能,才能使其相连。图片框中按像素调整距离,并可以将位图加载为资源以实现调用。编辑框设为只读,且某些设为只显示数字。

 

代码已放至github 

https://github.com/Hellwz/HANOI-TOWER

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值