首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么算法可以用来设计一个高效的计算机播放器?

什么算法可以用来设计一个高效的计算机播放器?
EN

Stack Overflow用户
提问于 2013-03-28 06:03:11
回答 2查看 153关注 0票数 0

我正在设计一个SDL游戏,玩家(人)可以将网放在N*M网格上,这样每个网只覆盖网格的一个元素(网格上有N*M个元素/单元)。现在在游戏的每一轮(游戏目前有10轮)中,玩家可以通过购买净成本NetCost (从玩家的得分中减去)来将网放置在网格上,以便接球。此外,玩家可以在任何一轮开始时将网移动到共享一条边(即上、下、左、右)的单元/元素。现在,球在每一轮中落下(理论上每轮都是瞬时的,尽管在游戏的视觉效果中持续2秒),球员的网可以捕捉到这些球,这样放置在单元格上的网就可以捕捉掉在特定单元格上的所有球。每丢一个球就要扣分B。球员以固定的分数开始比赛。计算机玩家和人类玩家分别玩同一轮游戏,因此人类玩家所做的选择不会影响计算机玩家,反之亦然。

现在我要设计一个有效的单人模式的电脑播放器.The电脑播放器也将从相同的分数作为人类的球员。计算机玩家的目的是使用用户可用的相同网在相同的网格上获得可能的最大分数。这些对计算机玩家的输入将是在每轮R开始时落在每轮R中的球以及它们的网格位置。我怎样才能为这个游戏设计一个高效的计算机播放器呢?

请注意,网格大小对于每一轮都是恒定的,并且是30x30。对于players.However净成本和落球惩罚两者的起始分数都固定在100,000,即在第一轮.These成本对于所有回合保持恒定之前,用户可以在游戏开始时选择落球惩罚。可以将网的数量限制为每轮200。我不确定我可以在这里应用什么算法。有谁能给我指引正确的方向吗?

EN

回答 2

Stack Overflow用户

发布于 2013-03-28 06:08:46

这听起来像是一个基于回合的游戏。如果是这样的话,您可能会希望使用alpha-beta剪枝来研究minimax search (这是一种搜索空间优化,它不会改变minimax的结果,但只会加速它-在某些情况下会显着提高速度)。

这需要与一个评估函数配对,该函数确定给定位置对球员的好坏。这部分听起来对像这样的游戏来说是相当容易的。

票数 0
EN

Stack Overflow用户

发布于 2013-03-28 06:36:34

听起来你需要一门人工智能的课程。看看这个游戏来帮助你了解高级的人工智能响应:http://www.transience.com.au/pearl.html

将随机性和难度结合到计算机玩家中。让他在理想的情况下做出反应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15670385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档