计算机辅助曹瞒走华容(华容道)算法

本文介绍了作者使用计算机算法解决华容道游戏的思路,通过建模和递归函数实现游戏的模拟。随着关卡难度提升,作者引入了剪枝技术来优化算法,包括禁止重复移动同一长方形和选择能扩大其他长方形活动范围的移动。通过这些改进,算法在大多数关卡中表现出色,尽管对于某些特定关卡仍然存在挑战。文章分享了两种剪枝算法的实现代码链接。
摘要由CSDN通过智能技术生成

        国庆期间三国杀移动版公众号搞了个网页游戏曹瞒走华容,通关可以奖励史诗宝珠,还有一堆宝箱。一开始20关比较简单,眼睛看看很快就能搞定,但是30关之后难度明显上去了,当步数增加到13以上很难一次性搞定,而一天就5条命,基本不够用。想想华容道这种规则简单的游戏,计算机穷举一下分分钟就搞定了,写个迭代程序也就个把小时,就当连个手。

        华容道的规则我就不说了,小学就玩过了,下面说一下建模,界面长这样:

        

         整个区域是一个6x6的正方形,可以用二维数组表示,横的长方形只能横向移动,用负数表示,同一行内如果有多个横向长方形,依次为-1,-2,-3…,哪个是-1无所谓,只要不同长方形数字不一样就行。目的是为了防止拼在一起无法辨认是一个还是2个。竖的长方形只能纵向移动,用正数表示,同一列有多个用1,2,3…表示。6阶矩阵长方形长度不是2就是3,所以最多也就是到正负2而已。曹操和竖直长方形一样,只能上下移动,用数字8表示。曹操到达龙的嘴巴[0, 2]为胜利条件。另外每关限定步数,用depth表示。于是上面两幅图可以表示为:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hunterhuuuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值