我当时正在做一个tic tac项目,并使用了github源代码中的一些参考代码。但人工智能似乎不可能被打败。但这是不应该发生的,我也找不到想法,使人工智能可以战胜。因为如果我放松游戏逻辑,人工智能就很容易被打败。
我现在的游戏逻辑是:
Move _getBestMove(List<int> board, int currentPlayer) {
// try all possible moves
List<int> newBoard;
// will contain our next best score
Move bestMove =
我当时在写单曲人工智能,但我在玩扑克牌时遇到了一个问题。我想要人工智能选择最好的颜色,选择在一个外卡,由他的手牌,但我不知道怎么做。
卡片是一个有脸串和颜色枚举的类。
public class Card
{
public CardColor Color { get; set; }
public string Face { get; set; }
public Card(CardColor color, string face)
{
Color = color;
Face =
用状态设计模式实现的FSM是设计AI代理的一种常见方法。我熟悉国家设计模式,并知道如何实现它。
这是如何在游戏中用于设计人工智能代理?
考虑一个简化的类Monster,它表示一个人工智能代理:
class Monster {
State state;
// other fields omitted
public void update(){ // called every game-loop cycle
state.execute(this);
}
public void setState(State state){
我现在有个问题。我正在为轰炸机游戏创建一个基因编程人工智能。
我的问题与线程有关,我想同时执行我的基因组。
下面是一个示例:
我有一个群体
Genome[] population = //5 genomes for example
每个基因组都有一个动作或动作,如UP,LEFT, RIGHT,DOWN,code<code>E 210</code>
它产生随机动作:
基因组1右,炸弹,左,上,右.
基因组2左左右左炸弹..。
等等。
这些动作或动作在玩家还活着之前都是有效的。我想应用这些移动在我的球员(AI)使用线程。
我试过这个:
for(Genome g in pop