minimax - 连接四 - c - 递归

时间:2017-10-23 20:12:00

标签: c recursion

我尝试将minimax算法实现到我的连接四游戏中。 我想用递归实现它。但是我认为我不会用我的功能探索整个游戏树:

for(i=0;i<COLS;i++) {
    if(can_throw(c, i) == 0) {
        throw(f, i);
        if((is_winner(c) == 0) && (is_board_full(f) == 0)) { //no winner, board not full
            minimax(f);
        }
        else if(is_winner(c) == 1) { //there is a winner
            evaluate_turn();
            undo_turn();
        }
        else if(is_winner(c) == 0 && (is_board_full(f) == 1)) { //no winner, board full
            evaluate_turn();
            undo_turn();
        }
    }
}

有人有解决方案如何使用递归来探索整个游戏树? 胜利只有1,平局为0,亏损为-1。

我不确定最好的方法是将评估相互比较,在“顶级”上获得正确的值而不引入数据结构(这会超出内存)。有人知道怎么做吗?

0 个答案:

没有答案