python 井字棋(Tic Tac Toe)
说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意。另外,90%+的代码也是本人逐字逐句敲的。 minimax算法还没完全理解,所以参考了 这里 的代码,并作了修改。 特点 可以选择人人、人机、机人、机机四种对战模式之一 电脑玩家的AI使用了minimax算法,带apha-beta剪枝 电脑玩家在思考时,时时刻刻都有一个 “假想敌” 。以便使得minimax算法运转起来 代码 作者:hhh5460 时间:2017年6月26日 # 棋盘 class Board(object): def __init__(self): #self._board = '-'*9 # 坑!! self._board = ['-' for _ in range(9)] self._history = [] # 棋谱 # 按指定动作,放入棋子 def _move(self, action, take): if self._board[action] == '-': self._board[action] = take self._history.append((action, take)) # 加入棋谱 # 撤销动作,拿走棋子 def _unmove(self, action): self._board[action] = '-' self._history.pop() # 棋盘快照