我是编程新手,我试图在控制台(Python)中连续四场比赛。我想知道如何检查有四条线。
我使用列表来制作电路板。例如:
def tablero(colum,filas):
tablero=[]
for x in range(1,filas+1):
tablero.append([" "]*colum)
for x in tablero:
x.insert(0,"")
x.insert(len(x), "")
for x in tablero:
print ("_|_".join(x))
return tablero
tablero(7,7)
现在,让我们说玩家选择董事会第1列添加ficha。我的程序必须检查第一行中是否有东西,依此类推,找出ficha在哪一行。这是我尚未意识到该怎么做的一件事。
第二件事是,在每个玩家转动之后,程序必须检查是否有一个连续4个并且我还没有意识到这一点。例如我的董事会是:
_|_ _|_ _|_ _|_ _|_
_|_ _|_ _|_ _|_ _|_
_|_ _|_ _|_ _|_ _|_
_|_ _|_ _|_ _|_ _|_
玩家一玩后:
_|_ _|_ _|_ _|_ _|_
_|_ _|_ _|_ _|_ _|_
_|_ _|_ _|_ _|_ _|_
_|_X_|_ _|_ _|_ _|_
现在程序必须检查我的X是否是连续四个的一部分,这对我来说非常困难。
如果你能帮助我,我会非常感激。感谢。
PD:对不起,如果我的英语不太好。答案 0 :(得分:0)
您需要考虑4个插槽排队的所有可能方式;它们是:从左到右,从上到下,从左上到右下,从右上到左下。所以你要做的是遍历table
中的每个槽,然后检查每个可能的方法,使四个相似的符号成为一行。它可能会像:
def checkForWin():
for y in range(0, len(table)):
for x in range(0, len(table[y])):
if table[y][x] != " ":
# left to right check
if table[y][x] == table[y][x] and table[y][x + 1] == table[y][x] and table[y][x + 2] == table[y][x] and table[y][x + 3] == table[y][x]:
return table[y][x]
# more checks
我希望这会有所帮助。 - = M0DEM = -