嘿我正在尝试为我正在做的这个井字游戏创建一个评估函数。基本上它的作用是检查游戏板(testBoard是我创建的示例游戏板)是否包含任何获胜条件。
但是,当我执行此代码时,终端中不会显示任何内容。任何建议将不胜感激。
ai = 0
player = 1
testBoard = [[0, 0, 1], [1, 0, 1], [1, 0, 1]]
def evaluateBoard(Board):
# Evaluate rows
for row in range(3):
if Board[row][0] == Board[row][1] == Board[row][2]:
if Board[row][0] == ai:
return 10
elif Board[row][0] == player:
return -10
# Evaluate columns
for col in range(3):
if Board[0][col] == Board[1][col] == Board[2][col]:
if Board[0][col] == ai:
return 10
elif Board[0][col] == player:
return -10
# Evaluate diagonals
if Board[0][0] == Board[1][1] == Board[2][2]:
if Board[0][0] == ai:
return 10
elif Board[0][0] == player:
return -10
if Board[0][2] == Board[1][1] == Board[2][0]:
if Board[0][2] == ai:
return 10
elif Board[0][2] == player:
return -10
# In case of draw, return 0
return 0
evaluateBoard(testBoard)
答案 0 :(得分:1)
return
语句将值返回给解释器(如果你将函数的输出分配给变量,则返回一个变量);除非你指明它,否则它不会对它做任何事情。
您可以修改功能,其中print(10)
表示result = evaluateBoard(testBoard)
print(result)
或您想要的任何值。
您还可以执行以下操作:
{{1}}
答案 1 :(得分:0)
代码中没有打印件。尝试:
print evaluateBoard(testBoard)
或者如果您使用的是Python3
print(evaluateBoard(testBoard))
请记住,如果您正在执行整个文件,您将看不到与在解释器的命令行中执行Python代码相同的行为。要查看输出,您必须在标准输出上发送一些内容。