class GameState:
def __init__(self):
'''initializes the players turn'''
self._player_turn = 'BLACK'
def change_player_white(self):
self._player_turn = 'WHITE'
def p_move(self):
return self._player_turn
如果我打电话
project41.GameState().change_player_white()
print(project41.GameState().p_move())
它仍然打印出“黑色”
每次调用
project41.GameState()
都是在创建一个新的GameState
对象。相反,您可能需要:如果您真的想要一个由类的所有实例共享的变量,请参阅文档中的Class and Instance Variables部分。你知道吗
每次对
GameState()
的调用都会创建一个新实例。您创建了一个实例,将播放机更改为白色,然后丢弃该播放机并在下一行创建了一个新的播放机。试试这个:顺便说一下,
_player_turn
不是类属性,而是实例属性。你知道吗您正在为每个调用创建一个游戏状态对象的新实例。你知道吗
相关问题 更多 >
编程相关推荐