我想让用户选择多大的董事会将在Tic-Tac-Toe
我不知道如何制作一个动态变量来检查玩家是否获胜
我能想到的唯一可行的选择是对用户可以选择的每个可能的x-x-x使用makeif语句。 这就是我到目前为止制作董事会的方法
x = int(input("How many x-by-x do you want?: "))
index = x**2
value = ["-"]*index
def board(index):
for i in range(index):
if i != 0:
if (i % x) == 0:
print()
print("-", end=" ")
这个问题有点宽泛,但我会尽我所能为您指出正确的方向:
首先,让用户选择他们的电路板尺寸是相当简单的。类似于以下内容的操作应该会起作用,您可以为用户的输入分配一个变量,然后运行循环以创建一个与电路板大小相同的阵列阵列:
如果输入为4,则board变量将等于:
但定义获胜条件要困难一些。我们必须考虑所有可能获胜的模式:三个横排,三个垂直排,三个斜排。由于我们的电路板被很好地保存为一个数组数组,因此我们可以制定一般规则,以查看无论电路板有多大,一行中的任何位置是否有3“x”或3“o”
水平行非常简单:只需检查一行中是否有三个“x”或“o”:
现在,要添加垂直行,我们必须做同样的事情,但先遍历列,然后遍历行,而不是先遍历行,然后遍历列:
最后是对角线。我们通过遍历每一行和每一列来实现这一点,但是我们将1添加到这两个行中,或者将1添加到行中,并从列中删除一个。这使我们能够获得此形状(行和列都增加)或该形状(行增加,列减少):
查找增加的行&;增加列数:
并发现越来越多的行&;减少列数:
当我们使用一个函数将这一切放在一起时,它看起来是这样的:
相关问题 更多 >
编程相关推荐