我正在设计一个SDL游戏,其中玩家(人)可以在N * M网格上放置网络,使得每个网络仅覆盖网格的单个元素(网格上有N * M个元素/单元格)。 现在在每轮比赛中(游戏目前有10轮),玩家可以通过购买每个净成本NetCost(从玩家的得分中减去)的网来放置网格,以便抓住球落下。此外,玩家可以移动任何一轮开始时的网络到共享边缘的单元/元素(即上,下,左,右)。 现在球落在每一轮(每轮都是理论上的瞬间,尽管在游戏的视觉效果中它持续2秒) 球员的网捕获这些球,使得放置在细胞处的网捕获落在该特定细胞处的所有球。 对于错过的每一个球,得分B都有一个点球。 玩家以固定分数开始。 计算机播放器和人类播放器分别播放相同的一轮,使得人类播放器做出的选择不会影响计算机播放器,反之亦然 现在我必须为单人模式设计一个高效的计算机播放器。计算机播放器也将从与人类播放器相同的分数开始。 计算机播放器的目的是使用用户可用的相同网络在同一网格上获得最大分数。这些输入到电脑播放器 将是在R轮开始时每个圆R中的球以及它们的网格位置。 如何为这款游戏设计高效的电脑播放器?
注意每一轮的网格大小是恒定的,为30x30。 两名球员的起始分数固定为100,000.然而,在比赛开始时,即在第1轮之前,用户可以选择净成本和球落点罚。这些费用在所有轮次中保持不变。 网的数量可以限制为每轮比赛200个。 我不知道我可以在这里应用什么算法。 有人可以指导我朝正确的方向发展吗?
答案 0 :(得分:0)
听起来这是一款回合制游戏。如果是这样,你可能希望用{-3}}调查alpha-beta修剪(这是一个搜索空间优化,它不会改变极小极大的结果,但只能加速它 - 在某些情况下显着增加)。
这需要与评估函数配对,该评估函数确定给定位置对于玩家的好坏。对于像这样的游戏来说,这部分听起来很容易。
答案 1 :(得分:0)
听起来你需要A.I.的课程。看看这个游戏,以帮助你找出先进的A.I.回复:http://www.transience.com.au/pearl.html
将随机性和难度结合到计算机播放器中。让他在理想的情况下做出回应。