实现可视化汉诺塔游戏c_Canvas 做了一个汉诺塔游戏

4205a42053a480010dfa63ad53e11ba0.png

网上闲逛又看到汉诺塔游戏,以前自学编程在学函数递归的时候遇到过汉诺塔游戏,可惜当时完全看不懂。现在依然不懂,于是想为什么不写一个游戏,然后好好研究一下。

于是就有了:汉诺塔游戏

用鼠标点击区域操作,手动和自动就是演示递归函数生成的操作数组,游戏模式可以自己玩。违规操作将无效。

9de93c94d1294dcd124112147e829fc3.png

这几天琢磨了一下,总算会玩了,最多完成10层,12层搞了一半放弃,因为太耗时间。

不说什么算法,因为我不懂,就我自己来说,玩这个游戏要从下往上思考。你要移动下边,你就要想上边的移动到那里,而上边的再看更上边的,以此类推,移动的位置知乎大神们都说的很清楚。

简单的说就是先把N-1个移动到B,如果A塔的数量是单数,那B上边都放双数(我写的游戏上,每个盘子上都是数字),C上面都是单数,反之亦然。要非常熟练的掌握三层塔的移动次序,把它们看成一个整体,这样更好移。

后半部分差不多,只不过都在A和C之间转移。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值