迈克尔道森的Tic Tac Toe游戏,我不了解computer_move功能?

时间:2015-09-06 00:53:06

标签: python

我目前正在从Michael Dawson的Python书中学习Python,绝对是初学者。

我的问题是我不理解import matplotlib.pyplot as plt n = 10 x = np.linspace(0, 2*np.pi, n) y0 = np.cos(x) # zero initial slope std = 0.5 noise = np.random.normal(0, std, len(x)) y = y0 + noise k = 3 sp0 = UnivariateSpline(x, y, k=k, s=n*std) sp = spline_neumann(x, y, k, s=n*std) plt.figure() X = np.linspace(x.min(), x.max(), len(x)*10) plt.plot(X, sp0(X), '-r', lw=1, label='guess') plt.plot(X, sp(X), '-r', lw=2, label='spline') plt.plot(X, sp.derivative()(X), '-g', label='slope') plt.plot(x, y, 'ok', label='data') plt.legend(loc='best') plt.show() 行,尤其是def computer_move(board, computer, human)方法中的三个for循环。

computer_move

1 个答案:

答案 0 :(得分:2)

嗯,这很简单。 首先,计算机检查他(计算机)是否可以通过下一步操作赢得比赛。如果他能赢,那么他就会表现出色。如果他不能获胜,那么他必须检查用户是否可以通过下一步获胜来赢得比赛。如果用户可以获胜,那么,计算机必须阻止该移动。如果用户无法通过下一步操作赢得游戏,那么您只需选择合法的第一个最佳方形选项。例如,最好的方块是中心块。你可以谷歌这个最好的方形选项。

这是computer_move()所做的所有方法。