作者linjack (嗯)
看板Prob_Solve
标题Re: [问题] 魔法气泡类游戏的构筑策略
时间Mon May 7 21:12:25 2007
怕推文越推越长
我再占用一篇的版面来说明一下我们曾经想过的方法好了 :p
最开始是想过类似棋谱的概念
譬如说以 4x4 为基本单位 有预先设定好的十几种 4x4 格的 pattern
电脑的目标就是尽量把自己盘面上的某个 4x4 区域
排成这十几种 pattern 其中之一
每下一颗泡泡就计算一次和这十几种 pattern 之间的差异程度
随时修正成最容易达成的那个 pattern
(因为每次出现的泡泡颜色随机 总不能把不要的就一直丢一边
如果一直等不到要的就麻烦了 所以要依状况修正选择不同的目标 pattern)
只是在还没组好 pattern 之前
可能对手已经丢垃圾过来了 布局被破坏而无法达成目标 pattern
那只好另寻 4x4 区域 或是要把首要目标改成先想办法消掉垃圾泡泡
等於是要切换 strategy state 换另一组策略
而且只有 4x4 的 pattern 也不太够
有时也许须要 3x6 的 pattern、2x5 的 pattern
或者是 4x4 的 pattern 排到一半发现有个 3x5 的 pattern
比所有已知的 4x4 pattern 更快能够达成
因此连面积相近的 pattern 都要纳入考虑
甚至还要想办法自动生成 arbitary size 的 pattern
应该可以说是复杂度相当高吧 .... orz
後来想说上面那方法好麻烦
乾脆让泡泡随机去叠吧 等到盘面上出现一些下一步就能排列消掉的点时
再去计算消哪个点可以造成的连锁最大
等於是随机的策略 (我自己玩魔法气泡时常用这种策略.. XD)
再来才是最近想到的权重法 (上一篇提到的...)
权重法和棋谱法应该都是棋类 AI 常用的做法
不同的地方只是棋类可以搞个 min-max tree 一直走下去
算出有限(memory限制)范围内总合最好的做法
可是魔法气泡类的游戏都具随机性 顶多让你知道下一步
所以权重和棋谱 pattern 比对也只能看当下的状况判断
真的要实作的话
我个人感觉棋谱/pattern应该是最难做的吧 .__.
权重法应该是比较容易先做个样子 随机策略当然就是再基本不过了
希望就我目前提出的想法部份
前辈们可以给些意见 @__@a 感谢搂 ..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.72.57.78
※ 编辑: linjack 来自: 203.72.57.78 (05/07 21:21)
1F:推 PsMonkey:其实让电脑偷偷知道未来好几步也算策略 [误] 05/08 00:24
2F:→ H45:找规则的话,自己魔法气泡要够强喔 05/08 01:10
3F:推 ledia:建议你看看 CKEFGISC-6th #2016 这篇文章 05/08 03:05
4F:→ ledia:很久以前有人画的 用 google 找好像 ptt 上只剩这篇 05/08 03:06
5F:推 linjack:非常感谢 <(_ _)> 05/08 10:16