计算游戏的一个"移动"结果需要多少CPU时间和内存?你能负担得起分析一个以上的举动吗?如果它相对便宜,只需选择N个随机方向/脉冲,计算结果并选择最佳结果.你可以消除一些"棘手"的情况,当球在太多碰撞后进入口袋时.此外,为了简化,您可以限制每次移动的模拟时间(即,不要等到所有球停止,只是计算前T秒).
这样,您就可以拥有不同级别的计算机玩家 - 较高的N(和T)对应较高的游戏等级.
根据台球的比赛,你通常有两个任务
评估桌面上的情况(获得可能的镜头)
在完美的情况下(完美的目标,完美的投篮)所有可能的投篮同样很难,如果你只考虑直接击球到一个球,你将需要分析最多6洞xn球情况(分析简单的教规 - 击中两个球只需要额外的n ^ 2个球×6个洞的情况).对于这些情况中的每一种,确定它们是否可能需要简单的分析(除非您正在进行非常逼真的碰撞模拟).因此,在非常简单的模拟中,您可能希望尝试构建所有可能的情况并对它们进行排名.要分析离开银行的镜头,你可能想要镜像球和洞.
或者,在列举可能的情况时,您可以简单地对表进行线扫描,标记对于镜头非法的区域,并枚举和构建潜在的镜头,如......
angle1,ball1
,pocket2
angle2,ball1,pocket3
angle3,ball1,ball2,pocket1 angle4,cushion2,ball2,pocket1
对于更好的AI你想要模拟不完美,例如通过在某个点x(可能被定义为远离直接命中的角度)击球来进行击球,让我们假设会出现错误(由于目标不好,或者dx的坏命中或其他任何东西 - 这反过来会导致球在方向上出现错误,该错误将随着到口袋的距离而增加.这提供了一种通过难度对镜头进行排名的方法 - 镜头在目标/镜头中的误差方面的敏感度(一些镜头比其他镜头更容易).这将取决于从白色到球以及从球到洞的路径长度.
另外还要注意的是白洞进入洞中的风险,或其他非法击球
选择镜头(不仅基于难度,还基于潜在收益)
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |