I am creating a tic-tac-toe game in python. I’m trying to call the update method from my Board class on my boardState object within the class init of my Turn class.
When I run it I get NameError: name boardState is not defined
.
JavaScript
x
25
25
1
class Board:
2
def __init__(self, player1 = "player1", player2 = "player2"):
3
self.p1 = player1
4
self.p2 = player2
5
self.matrix = MATRIX
6
self.winner = 'none'
7
self.available = getAvailable(self.matrix)
8
9
def update(self):
10
clear()
11
getAvailable(self.matrix)
12
self.show()
13
14
class Turn:
15
def __init__(self, sym):
16
self.sym = sym
17
boardState.update()
18
terminalState(boardState, self.sym, available)
19
print(f"{self.sym}'s turn:")
20
21
def main():
22
boardState = Board()
23
altTurns()
24
25
Advertisement
Answer
you are getting this error siense you haven’t defined “boardState” before referencing it,
you need to set it to be a new Board Object before using it
JavaScript
1
21
21
1
class Board:
2
def __init__(self, player1 = "player1", player2 = "player2"):
3
self.p1 = player1
4
self.p2 = player2
5
self.matrix = MATRIX
6
self.winner = 'none'
7
self.available = getAvailable(self.matrix)
8
9
def update(self):
10
clear()
11
getAvailable(self.matrix)
12
self.show()
13
14
class Turn:
15
def __init__(self, sym):
16
self.sym = sym
17
boardState = Board() #the line I added
18
boardState.update()
19
terminalState(boardState, self.sym, available)
20
print(f"{self.sym}'s turn:")
21
this should fix your problem