Aug-06-2017, 08:28 PM
Here's my code now, and the error message:
Error:Traceback (most recent call last):
File "C:\Users\...\noughts and crosses.py", line 72, in <module>
gameRun = checkX()
File "C:\Users\...\noughts and crosses.py", line 54, in checkX
return gameRun
UnboundLocalError: local variable 'gameRun' referenced before assignment
grid = [1, 2, 3, 4, 5, 6, 7, 8, 9] gridSave = [1, 2, 3, 4, 5, 6, 7, 8, 9] gameRun = True def show(): print(grid[0], '|', grid[1], '|', grid[2]) print('----------') print(grid[3], '|', grid[4], '|', grid[5]) print('----------') print(grid[6], '|', grid[7], '|', grid[8]) def checkX(): if grid[0] == 'X' and grid[1] == 'X' and grid[2] == 'X': print("Player one wins!") gameRun = False if grid[3] == 'X' and grid[4] == 'X' and grid[5] == 'X': print("Player one wins!") gameRun = False if grid[6] == 'X' and grid[7] == 'X' and grid[8] == 'X': print("Player one wins!") gameRun = False if grid[0] == 'X' and grid[3] == 'X' and grid[6] == 'X': print("Player one wins!") gameRun = False if grid[1] == 'X' and grid[4] == 'X' and grid[7] == 'X': print("Player one wins!") gameRun = False if grid[2] == 'X' and grid[5] == 'X' and grid[8] == 'X': print("Player one wins!") gameRun = False if grid[0] == 'X' and grid[4] == 'X' and grid[8] == 'X': print("Player one wins!") gameRun = False if grid[2] == 'X' and grid[4] == 'X' and grid[6] == 'X': print("Player one wins!") gameRun = False return gameRun show() while gameRun == True: inputX = input("Player one, please select a spot: ") inputX = (int(inputX) - 1) if grid[inputX] != 'X' and grid[inputX] != 'O': grid[inputX] = 'X' else: print("This space is taken!") show() gameRun = checkX() inputY = input("Player two, please select a spot: ") inputY = (int(inputY) - 1) if grid[inputY] != 'X' and grid[inputY] != 'O': grid[inputY] = 'O' else: print("This space is taken!") show() if gameRun == False: print("The game is now finished! Play again!") grid = gridSave print(grid)