2017-05-25 6 views
0
def check_board(): 
    global y 
    for a in howtowin: 
     for b in range(num): 
      y.append([board1[a[b]]])  
     if all(y == 'X'): 
      print("\nPlayer 1 Wins!") 
      print("Congratulations!\n") 
      return True 
     elif all(y == 'O'): 
      print("\nPlayer 2 Wins!") 
      print("Congratulations!\n") 
      return True 
    for a in range(num*num): 
     if board1[a] == 'X' or board1[a] == 'O': 
      count += 1 
     if count == num*num: 
      print("The game ends in a Tie\n") 
      return True 

私はプログラムを作成しています。私はこのメソッドを1週間修正しようとしています。いずれかのサイドの長さを取る必要があり、勝利の組み合わせがある場合は "howtowin"でチェックする必要があります。 「howtowin」は、どのボード側の長さでも機能する勝利組み合わせのタプルです。現在と第2のループエラーの最初の行は:TicTacToe Check Winsエラー

for b in num: 
     x.append([board1[a[b]]])  

は次のようになります:

NameError: global name 'y' is not defined 
+0

は 'num'整数?もしそうなら、あなたは 'for b in range(0、num)'をする必要があります。 –

答えて

0

ループの最初は、あなたの問題のように見えること

for b in range(num): 
     x.append([board1[a[b]]])