【发布时间】:2015-09-18 11:55:35
【问题描述】:
我使用以下规则制作了井字游戏 AI:(https://en.wikipedia.org/wiki/Tic-tac-toe)
获胜:如果玩家连续获得两个,他们可以放置第三个以获得连续三个。
格挡:如果对手连续两个,玩家必须自己出第三个来格挡对手。
分叉:创造一个机会,让玩家有两个获胜威胁(两条未阻挡的 2 线)。 阻挡对手的叉子:
选项 1:玩家应该连续创造两个来迫使对手防守,只要这不会导致他们创造一个叉子。例如,如果“X”有角球,“O”有中锋,而“X”也有对角角,则“O”必须不打角球才能获胜。 (在这种情况下玩角球会为“X”赢得一个分叉。)
选项 2:如果存在对手可以分叉的配置,则玩家应阻止该分叉。
中心:玩家标记中心。 (如果这是游戏的第一步,在角球上玩会给“O”更多犯错的机会,因此可能是更好的选择;但是,完美玩家之间没有区别。)
对角:如果对手在角球,则球员打对角。
空角:玩家在角落广场上比赛。
空方:玩家在 4 条边中任意一条的中间方格中进行游戏。
所以现在,我想实现某种系统,动态地改变它的难度。
【问题讨论】:
-
添加一个随机数生成器。选择招式时,使用RNG判断是否会选择随机招式,而不是选择最优招式。
-
我认为你在这里指的是人工无智能:-)
-
人为的无知?
-
这里列出了 6 条规则。您可以让级别 1 只知道第一条规则,如果不适用则随机播放,级别 2 可以知道前两条规则,如果不适用则随机播放,依此类推。
-
我曾经在集市上和一只鸡玩过井字游戏,也无法击败。
标签: c# artificial-intelligence tic-tac-toe