下载客户端

2026-04-02 13:00:35
发布在Energy Cycle
转载

AI智能总结导读

这篇帖子分享了用电脑程序解决点灯类关卡的方法,核心是先对棋盘进行拆分(串点拆分、拐点拆分等),再设置初始棋盘与目标颜色运行程序,有解可查看策略,帮玩家突破关卡瓶颈。

想要动笔计算却发现无从下手?前一关总结出的规律在下一关完全用不上?打时限关卡在29过不去? 让你成熟的电脑帮你想个答案! 你可能会问就一个穷举也还跳出来写指南?但事实就是这样,小编也很难过。 ————以下内容没什么用———— 因为是穷举,一股脑地把原题直接输进去肯定是不行的。还需要先拆分一下: 拆1:一种串点 适用于被单个/条连接的两个大块 aaa 0 ddd bbb 1 eee ccc 0 fff 这种就可以拆成 aaa 0 bbb 1 ccc 0 和 0 ddd 1 eee 0 fff 拆2:一种拐点 一个2×2的孤立棋格只会有一种解,而且根据经验一般是四个亮白色 White 0 2 2 1 2 2 这种情况下反复点击四个2就能更改1位置的颜色 因此,对于这种情况: 2 2 0 0 2 2 1 0 0 0 aaa bbbbb 只需要让电脑算 0 0 aaa bbbbb 并把目标数值调为2就行了 拆3:乱拆 毕竟你怎么拆对电脑来说也不会更乱了 调节初始值:在地图里设置初始棋盘,目标数值里输入目标颜色,运行程序 若出现有解,输入sls查看策略 例如 地图=[ [0,0,3,2,0], [0,2,2,0,0], [2,2,2,2,0]]目标数=2 输出的SLS为['120221'],即第一行从左至右依次点击1次、2次,下一行及再下一行继续执行后续的0次、2次、2次、1次。感谢我的室友提供的代码支持 import copy # gmap是棋盘初始输入 这里用了5*5的 当然你爱整几行几列都行 # 游戏棋盘 0 表示该处没有棋子 1 2 3 分别代表三种颜色的棋子 # 1是深蓝 2是亮白 3是绿色 # 推荐棋子数目小于13 因为是枚举 愿意多等几分钟13,14个棋子也可 # ------------------- gmap=[ [0,0,0,2,0], [0,2,1,0,0], [2,2,0,0,0], [0,2,3,0,0], [0,0,0,0,0] ] # 目标颜色集合 target_num=2 # ---------------------- # 初始化 l_x=len(gmap) l_y=len(gmap[0]) pieces=[] for i in range(l_x): for j in range(l_y): if gmap[j]!= 0: pieces.无法识别内容,已删除。=目标数量: 返回假 返回真 # 主函数 策略列表=[] 总和=3**碎片数量 循环变量在0到总和范围内循环: 策略='' 当循环变量不等于0时: 策略+=循环变量取3的余数并转为字符串 循环变量=循环变量除以3取整 如果解决(游戏地图,策略,目标数量): 策略列表添加策略 跳出循环 如果策略列表存在: 打印"有解" #成功,查看策略列表即可获取策略 否则: 打印"无解" #无答案,意味着仅根据你提供的初始输入,没有能达成目标结果的策略。此时需要你更换目标颜色或重新设定输入

评论

共0条评论
face
inputImg
最新更新