あるクラスの関数を別のクラスから呼び出そうとしています。これが私のコードです:
import os
class GameRoom():
msgLine1 = ""
msgLine2 = ""
msgLine3 = ""
msgLine4 = ""
msgLine5 = ""
def GameStatus(self):
while True:
os.system('cls')
print self.msgLine1
print self.msgLine2
print self.msgLine3
print self.msgLine4
print self.msgLine5 + "\n"
print "Do what?\n"
userDecision = raw_input()
if userDecision.upper() == "GO":
Player().Go()
break
else:
self.CycleMessages("That's not a valid choice!")
def CycleMessages(self,newMsg="error"):
self.msgLine5 = self.msgLine4
self.msgLine4 = self.msgLine3
self.msgLine3 = self.msgLine2
self.msgLine2 = self.msgLine1
self.msgLine1 = newMsg
class Player():
def Go(self):
GameRoom().CycleMessages("Player goes.")
GameRoom().GameStatus()
def main():
GameRoom().GameStatus()
if __name__ == '__main__':
main()
自分自身を呼び出すとCycleMessages
、「それは有効な選択ではありません!」という行がいっぱいになります。通常、彼らがすべきように。CycleMessages
クラスから呼び出すとPlayer
、「Player gos.」と表示される代わりに、すべての行がクリアされます。「エラー」も表示されません。
「Player go」をお願いします。を呼び出したときに表示されますPlayer().Go()
。どうすればいいですか?どんな助けにも感謝します!