我正在python中编写一个连接4游戏,并且不确定在实现检查对角线功能时从哪里开始。这是一个7乘6的网格。到目前为止,我已经横向和纵向。
#checks for a winner
def check_winner(self):
winner = (self.check_hori()) or self.check_vert())
return winner
#checks for winner horizontally
def check_hori(self):
row=''
for x in range(7):
for y in range(6):
row += self.__board[x][y]
#R=Red, B=Blue
if 'RRRR' or 'BBBB' in row:
return True
#False if no winner is detected
row=''
return False
#checks for a vertical winner
def check_vert(self):
col=''
for y in range(6):
for x in range(7):
col += self.__board[x][y]
if 'RRRR' or 'BBBB' in col:
return True
#False if no winner is detected
col=''
return False
我知道可以让它检查每个可能的组合,但这需要很多行代码,我相信它们会更简单。 感谢