吴昊品游戏核心算法Round4——连连看AI(用BFS+STL实现)(HDOJ1175)吴昊系列

随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。

规则如下:第一次使用鼠标点击棋盘中的棋子,该棋子此时为“被选中”,以特殊方式显示;再次以鼠标点击其他棋子,若该棋子与被选中的棋子图案相同,且把第一个棋子到第二个棋子连起来,中间的直线不超过3根,则消掉这一对棋子,否则第一颗棋子恢复成未被选中状态,而第二颗棋子变成被选中状态。

下面我来品析的这个AI实际上实现的是一个查询功能,属于连连看的一个小“作弊工具”,使用它之后,可以判断当前局面是否还有可以消去的“图形对”(实际上,该小工具还可以搜索到任意的一种这样的“图形对”并提示可以删去,当然,这些都是大同小异了)

我们利用BFS(宽度优先搜索)进行,并且,利用STL里面的队列queue结构来存储每一种结果。(这种或者类似的方法,在推箱子游戏的AI中也是比较常见的)

下面,我来给出HDOJ1175关于此问题的介绍和一些input和output。

ProblemDescription——“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不能从外面绕过去的,但事实上这是错的。现在已经酿成大祸,就只能将错就错了,连线不能从外围绕过(吴昊评注:这个也算是连连看的一个变种吧!)。玩家鼠标先后点击两块棋子,试图将他们消去,然后游戏的后台判断这两个方格能不能消去。现在你的任务就是写这个后台程序(吴昊评注:前台的绚丽靠UI和美工,后台的绚丽靠数据结构和算法)。

Input——输入数据有多组。每组数据的第一行有两个正整数n,m(0

Output——每一组输入数据对应一行输出。如果能消去则输出"YES",不能则输出"NO"。

亮点如下:

(1)上下左右四个方向的标识,采用一个二维数组,这也是一种常用技巧dir[4][2].

(2)采用STL队列容器,装载每一个可能的点。

(3)在BFS中,每相邻两个点放在一起判断,定期更新每个点处拐弯次数的最小值,这一点很不错。

THE END
1.宠物连连看( 27次评分 ) 直接下载 详细信息 软件大小 59.75M appID 1531914 版本号 1.4.7 开发者 深圳市猎游科技有限公司 更新时间 2024-11-11 隐私政策 点击查看 包名 com.jd.game.cwllk.mi 应用权限 查看更多 手机屏幕截图 应用介绍 宠物连连看是一款经典的休闲免费连连看游戏,简约的画风,画风中的萌宠,给你带来不一般...https://app.mi.com/details?id=com.jd.game.cwllk.mi
2.宠物连连看30版介绍游戏问答喜欢宠物小精灵的玩家,一定对于宠物连连消这款游戏不会感到陌生:在这款经典的连连看游戏中,玩家只要将...https://a.9game.cn/wenda/439004.html
3.宠物连连看VB版源代码.rar内容索引:VB源码,游戏编程,连连看,VB游戏源码 VB写的一款宠物连连看游戏源代码,带有声音,宠物卡通头像,很逗,游戏分高、中、低不同难度,不过好像游戏在设计时候有点小BUG,就是在玩游戏的时候,在选中任一头像时如果点击鼠标右键的话,头像会消失,建议把右键禁止掉,这样就完美了。 https://www.iteye.com/resource/yplive-2066483
4.宠物连连看游戏下载免费无广告2022宠物连连看游戏下载地址宠物连连看游戏下载免费无广告2022,这款宠物连连看游戏采用了动物的模样进行消除它极具有挑战性,刺激你的大脑神经,甚至在你无聊不知道干嘛的时候,你可以打开它,用它来打发时间也是很好的。宠物连连看是一款非常好玩的有趣的又休闲的连连看游戏。操作简单,关卡丰富,可玩性极高,喜欢连连看游戏的玩家不容错过哦!下面小编就...https://m.wandoujia.com/strategy/12829792512428830789.html
1.安卓连连看单机版下载手机连连看小游戏大全手机连连看游戏一直都是大家必备的休闲精品,这类游戏题材多样,玩不腻,最适合无聊的时候打发时间了,这个小编深有体会,此次腾牛安卓网游戏速递特别为大家免费提供各类好玩的安卓手机连连看游戏免费下载,保证不会让您失望.https://www.qqtn.com/az/azllkyx/
2.连连看合集连连看游戏合集连连看游戏大全连连看游戏,这种感觉是很老式的手机玩法,以前还不是智能手机的时候,有连连看游戏,不过这种跟消消乐也差不多,就是打发时间,休闲的时候玩一下。小编收集了一些连连看游戏,喜欢连连看游戏的玩家快来看看吧。 更新时间:2024-05-08 17:27:08 下载 萌物连连看 ...https://m.ali213.net/tag/llkyx.html
3.连连看修改(golang)宠物连连看修改生命值游戏详情是:宠物连连看可爱版,图片是这样: 其中最重要的是洗牌次数,没有洗牌次数就game over了。因此针对洗牌次数做一个修改器。 说明下:如果实现这个目的,使用golang并不是最佳选择,更好的选择比如用VC,因此这个程序主要用于golang练手。 原理 利用数值及变化找出变量所在的内存地址,修改之。 https://blog.csdn.net/man_45_start/article/details/106764981
4.宠物连连看2017全新超萌动物消除游戏宠物连连看-2017全新超萌动物消除游戏Penilaian dan Ulasan 4.6daripada 5 70 Penilaian 去shi吧,见鬼的昵称,什么东西!,25/10/2018 不错的掌上小游戏! 非常不错的一款掌上小游戏,有时间限制带来的紧张感,又有萌萌动物头像带来的开心感,很好,大赞!Y(^_^)Y ...https://apps.apple.com/cn/app/%E5%AE%A0%E7%89%A9%E8%BF%9E%E8%BF%9E%E7%9C%8B-2017%E5%85%A8%E6%96%B0%E8%B6%85%E8%90%8C%E5%8A%A8%E7%89%A9%E6%B6%88%E9%99%A4%E6%B8%B8%E6%88%8F/id1214708795?l=ms&see-all=reviews
5.游戏作文(精选34篇)最近,我迷上了一种游戏叫“宠物连连看”,就是把相同的宠物图片给找出来连起来。 我一有时间就玩,“连连看”的影子似乎每时每刻都在我的脑海里晃动,不过几个月,我就从”连连看”“小学”升级到“研究生”。 有一天,我无意中低头看见我的睡衣上的许多图片:蹲着的小黄狗、摇着尾巴的大狗、啃着骨头的毛毛狗——...https://www.ruiwen.com/zuowen/youxi/1752236.html
6.C++风靡一时的连连看游戏的实现流程详解C语言“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型。 不管走到哪个网页游戏网站,连连看游戏...https://www.jb51.net/article/229697.htm