私はテキストベースのRPGに取り組んでおり、コーディングにはかなり新しく、1ヵ月ほど前にPythonを学んだので、誰かが救命救助者になることができれば助けになるでしょう。私のピクルされたオブジェクトが復元されないのはなぜですか?
ゲームを保存して読み込むと、デフォルトのプレーヤの統計情報が読み込まれます。どのようにして統計の増加がロードされ、私のポーションとゴールドもデフォルトにリセットされます。
class Player:
name = "Razor"
atkl = 15
atkh = 20
magic_light_slashl = 20
magic_light_slashh = 25
magic_fireballl = 40
magic_fireballh = 48
magic_lightningl = 55
magic_lightningh = 65
maxhp = 50
hp = 50
maxap = 10
ap = 10
exp = 0
level = 1
gold = 20
potions = 0
great_potions = 0
max_potions = 0
elixers = 0
great_elixers = 0
max_elixers = 0
def save():
player = Player
level_state = Player.level
with open('savefile', 'wb') as f:
pickle.dump([player, level_state], f, protocol=2)
print("Game has been saved.")
start_up()
def load():
if os.path.exists('savefile') == True:
with open('savefile', 'rb') as f:
player, level_state = pickle.load(f)
print("Loaded save state.")
start_up()
else:
print("Could not find save file.")
main()
ここで私はレベルアップしています。
def level_up():
if Player.level == 1:
if Player.exp >= 30 and Player.exp < 80:
print("You are level 2")
Player.level = 2
Player.atkl = 17
Player.atkh = 22
Player.magic_light_slashl = 23
Player.magic_light_slashh = 27
Player.maxhp = 53
Player.hp = 53
Player.maxap = 12
Player.ap = 12
私のコードをもっと必要としたら、私に聞いてみてください。
修正したいエラーを再現する[MCVE](https://stackoverflow.com/help/mcve)を含めてください。おそらく、現在行っているように* class *プロパティの代わりに* instance *プロパティを使用しているはずです。 –
私たちはあなたのコードをもっと必要としません。あなたの問題を明らかにするコードの最小量。また、あなたの問題が何であるかを明確にするのに役立ちます。おそらく(おそらくこのケースでは)あなた自身でそれを解決するでしょう。 –