-1
マイコード:私のクラスの新しいインスタンスごとにカウント変数がインクリメントしないのはなぜですか?
class Lobby(Definition):
Lcount = 0
def __init__(self):
if Lobby.Lcount == 0:
self.description = "test1"
elif Lobby.Lcount > 0:
self.description = "test2"
else:
print("\nHmmm something went wrong...\n")
self.contents = ["Briefcase"]
self.doors = {"n": "terminal", "w": "hallway"}
Lobby.Lcount += 1
私は部屋のインスタンスが作成された後にどこそれになりたい(すなわち、あなたが前にそれを訪問している)、それはそれよりも、元の1を異なる説明が表示されます。ただし、同じ記述を印刷し続けます。では、私はここで間違っていますか?
編集:ここでは私の定義クラスにあるものである:Definition
で
class Definition:
def __init__(self):
self.description = ""
self.contents = []
self.doors = {}
def get_desc(self):
print("{}".format(self.description))
def get_direction(self):
direction = input("Enter a direction or search the room: ").lower()
search = True
if direction == "q":
return direction
elif direction in self.doors:
location = self.doors[direction]
return location
elif direction == "s":
while search:
action = input("\nYou search for some items... Press 1 to continue or 2 to quit.\n")
if action == "1":
if len(location.contents) == 0:
print("\nYou find nothing of value in the room.\n")
else:
find = random.randrange(1, 3)
if find == 1:
found = random.randrange(len(location.contents))
item = location.contents.pop(found)
print("\nYou found a {}\n".format(item))
self.items.append(item)
self.check_items()
else:
print("\nNothing found yet\n")
elif action == "2":
search = False
break
else:
print("\nLocation reminder: ")
location.get_description()
else:
return "\nNot a valid entry\n"
「定義」の内容 –
'Definition'を' object'にすることで簡単なテストをすることで、それは正常に機能します。 – mgilson
@mgilsonの結果を確認できます。 –