Skip to content

accelerator-feng/Tic-Tac-Toe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

不会输的井字棋

井字棋是一个很简单的游戏,通过穷举,我们轻易的记录井字棋所有可能的走法。因此我们的AI可以实现的能力是

先手:尽可能的赢棋

后手:保证不输棋,且在玩家出现失误的情况下赢棋

游戏基本功能

1.有一个下棋(落子)的函数

2.有一个判断胜负的函数

AI部分

穷举后,可知

作为先手,只要占下一个拐角,玩家在剩下的8个位置中,有7个是必输的。剩下的一种方式,也最多只是平手。

作为后手则更加简单,无论玩家怎么开局,只要AI走对了前两步棋,后面就只要专门拦住玩家的棋即可。

所以需要

1.根据玩家下子的情况,让AI下特定的位置(只需两步)。

2.有一个进攻函数来连成三子取得胜利,用于抓住玩家的失误或者防止玩家放水。有一个防守函数来拦住玩家的棋子,使之不能连成三子。

3.有一个随机下子函数来在要平局的情况下填满棋盘。

优先级:进攻>防守>随机

Releases

No releases published

Packages

No packages published