I keep getting the error (load() missing 1 required positional argument: 'player') when I try to load. I have kinda given up on this project for a bit until I can fix this, so I finally got back to it and am hoping to get any help if possible, or honestly redo everything and build it around the save system.

import random
import os
import dill as pickle

FILE = 'PlayerPickle.pkl'
#Player class
class Player:
    level = 1
    player_name = "bob"
    health = 100
    max_health = 100
    damage = 10
    gold = 400
    pet = ""
    experience = 0
    defense = 2
    weapons = ["Paper Sword"]
    items = []
    equipped_weapon = ("Rat")
    experience_threshhold = 10


def askSave(player):
    ask = input("Do you want to save?\n--> ").upper()
    if ask == "Y" or ask == "YES":
        pickle.dump(player, open(FILE, "wb",))

    elif ask == "N" or ask == "NO":
        print("Okay, maybe next time!")
    else:
        print("Sorry, that does not compute with me! Please try again!")
        askSave(player)


def load(player):
    if os.path.isfile(FILE):
        return pickle.load(open(FILE,"rb")) #Loads the file
    return player

#funtion that allows a player to equip a weapon and increase their damage.        
def weapon_equip():
    print("Weapons: " + str(Player.weapons))
    selection = input("Which weapon would you like to equip? ")

    if selection == "Paper Sword":
        Player.weapons.remove("Paper Sword")
        Player.weapons.append(Player.equipped_weapon)
        Player.equipped_weapon = ()
        Player.equipped_weapon = "Paper Sword"
        print("You have equipped " + str(Player.equipped_weapon))
    elif selection == "Spear":
        Player.weapons.remove("Spear")
        Player.weapons.append(Player.equipped_weapon)
        Player.equipped_weapon = ()
        Player.equipped_weapon = "Spear"
        print("You have equipped " + str(Player.equipped_weapon))
    elif selection == "Knight's Longsword":
        Player.weapons.remove("Knight's Longsword")
        Player.weapons.append(Player.equipped_weapon)
        Player.equipped_weapon = ()
        Player.equipped_weapon = "Knight's Longsword"
        print("You have equipped " + str(Player.equipped_weapon))
    elif selection == "Dwarvn Scimitar":
        Player.weapons.remove("Dwarvn Scimitar")
        Player.weapons.append(Player.equipped_weapon)
        Player.equipped_weapon = ()
        Player.equipped_weapon = "Dwarvn Scimitar"
        print("You have equipped " + str(Player.equipped_weapon))
    else:
        print("No such thing has been found in thy inventory! ")
    
    main_menu()

#function for the weapons section of the main shop()
def weapons_shop():
    weapons_list = ["Paper Sword - Price: 40G - Damage: 15", "Spear - Price: 275G - Damage: 30", "Knight's Longsword - Price: 550G - Damage: 60", "Dwarvn Scimitar (forged from hell) - Price: 1111G - Damage:150" ]
    print(weapons_list[0])
    print(weapons_list[1])
    print(weapons_list[2])
    print(weapons_list[3])
    weapons_shop_selection = int(input("Select a weapon to purchase from 1-4: "))

    if ((weapons_shop_selection == 1) and (Player.gold >= 40) and ("Paper Sword" not in Player.weapons)):
        Player.gold = Player.gold - 40
        Player.weapons.append("Paper Sword")
        print("You have purchased a Paper Sword")
        print("     ")
        shop()
    
    elif weapons_shop_selection == 2 and Player.gold >= 275 and "Spear" not in Player.weapons:
        Player.gold = Player.gold - 40
        Player.weapons.append("Spear")
        print("You have purchased a Spear")
        print("     ")
        shop()
    
    else:
        print("You are too poor, or you already have that item...")
        print("     ")
        shop()
#function for blackjack game
def blackjack():
    print("        ")
    print("Your balance: " + str(Player.gold) +"G")
    bet = int(input("How much would gold would you like to bet? (Type a negative number to leave) "))
    if bet > Player.gold:
        print("INVALID INPUT... ")
        shop()
    if bet >= 1:
        card_deck = [2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K", "A"]
        ace = [1, 11]
        
        class PlayerHand:
            player_cards_hand = []
            print("     ")
            player_cards_hand.append(random.choice(card_deck))
            player_cards_hand.append(random.choice(card_deck))
            player_card_total = 0
            player_card_total_soft = 0
            w = False
            aces = 0

        class DealerHand:
            dealer_cards_hand = []
            print("     ")
            dealer_cards_hand.append(random.choice(card_deck))
            dealer_cards_hand.append(random.choice(card_deck))
            player_card_total = 0
            dealer_cards_total_soft = 0
            w = False
            aces = 0
        
        ongoing = True
        ongoing_dealer = True
    else:
        main_menu()
    #This is the loop for the player's turn.
    while ongoing:
        if 2 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 2 * (PlayerHand.player_cards_hand.count(2))
        if 3 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 3 * (PlayerHand.player_cards_hand.count(3))
        if 4 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 4 * (PlayerHand.player_cards_hand.count(4))
        if 5 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 5 * (PlayerHand.player_cards_hand.count(5))
        if 6 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 6 * (PlayerHand.player_cards_hand.count(6))
        if 7 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 7 * (PlayerHand.player_cards_hand.count(7))
        if 8 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 8 * (PlayerHand.player_cards_hand.count(8))
        if 9 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 9 * (PlayerHand.player_cards_hand.count(9))
        if 10 in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 10 * (PlayerHand.player_cards_hand.count(10))
        
        if 'J' or 'Q' or 'K' in PlayerHand.player_cards_hand:
            PlayerHand.player_card_total = PlayerHand.player_card_total + 10 * ((PlayerHand.player_cards_hand.count("J")) + (PlayerHand.player_cards_hand.count("Q")) + (PlayerHand.player_cards_hand.count("K")))

        PlayerHand.player_card_total_soft = PlayerHand.player_card_total

        PlayerHand.aces = PlayerHand.aces + int(PlayerHand.player_cards_hand.count("A"))


        PlayerHand.player_card_total = PlayerHand.player_card_total + ((PlayerHand.player_cards_hand.count("A")) * (ace[0]))
        
        if PlayerHand.aces > 1:
            PlayerHand.player_card_total_soft = PlayerHand.player_card_total_soft + 11 + ((PlayerHand.player_cards_hand.count("A")) * (ace[0]))
        elif PlayerHand.aces == 1:
            PlayerHand.player_card_total_soft = PlayerHand.player_card_total_soft + 11
        else:
            PlayerHand.player_card_total_soft = 0
            
        
        if PlayerHand.aces >= 1:
            print(str(PlayerHand.player_card_total) + " / "+ str(PlayerHand.player_card_total_soft))
            
        else:
        
            print("Hand: " + str(PlayerHand.player_cards_hand))
            print(PlayerHand.player_card_total)
        
        if PlayerHand.player_card_total > 21:
            print("BUSTED")
            Player.gold = Player.gold - bet
            ongoing = False
            shop()
        
        print("Dealer's Hand: " + str(DealerHand.dealer_cards_hand[1]))



        player_choice = input(("Would you like to hit or stand? "))
            
        if player_choice == "hit":
            PlayerHand.player_card_total = 0
            PlayerHand.aces = 0
            PlayerHand.player_cards_hand.append(random.choice(card_deck))
        else:
            if PlayerHand.player_card_total < PlayerHand.player_card_total_soft & PlayerHand.player_card_total_soft <= 21:
                PlayerHand.player_card_total = PlayerHand.player_card_total_soft
            print("You stood")
            break
    #This is the loop for the dealer's turn.
    while ongoing_dealer:
        if 2 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 2 * (DealerHand.dealer_cards_hand.count(2))
        if 3 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 3 * (DealerHand.dealer_cards_hand.count(3))
        if 4 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 4 * (DealerHand.dealer_cards_hand.count(4))
        if 5 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 5 * (DealerHand.dealer_cards_hand.count(5))
        if 6 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 6 * (DealerHand.dealer_cards_hand.count(6))
        if 7 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 7 * (DealerHand.dealer_cards_hand.count(7))
        if 8 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 8 * (DealerHand.dealer_cards_hand.count(8))
        if 9 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 9 * (DealerHand.dealer_cards_hand.count(9))
        if 10 in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 10 * (DealerHand.dealer_cards_hand.count(10))
        
        if 'J' or 'Q' or 'K' in DealerHand.dealer_cards_hand:
            DealerHand.player_card_total = DealerHand.player_card_total + 10 * ((DealerHand.dealer_cards_hand.count("J")) + (DealerHand.dealer_cards_hand.count("Q")) + (DealerHand.dealer_cards_hand.count("K")))

        DealerHand.dealer_cards_total_soft = DealerHand.player_card_total

        DealerHand.aces = DealerHand.aces + int(DealerHand.dealer_cards_hand.count("A"))


        DealerHand.player_card_total = DealerHand.player_card_total + ((DealerHand.dealer_cards_hand.count("A")) * (ace[0]))
        
        if DealerHand.aces > 1:
            DealerHand.dealer_cards_total_soft = DealerHand.dealer_cards_total_soft + 11 + ((DealerHand.dealer_cards_hand.count("A")) * (ace[0]))
        elif DealerHand.aces == 1:
            DealerHand.dealer_cards_total_soft = DealerHand.dealer_cards_total_soft + 11
        else:
            DealerHand.dealer_cards_total_soft = 0

        
            
        
        
        if DealerHand.player_card_total > 21:
            print("Dealer Busts! ")
            print("You Win! $" + str(bet))
            Player.gold = Player.gold + bet
            ongoing_dealer = False
            shop()

        
        if DealerHand.player_card_total > PlayerHand.player_card_total:
            if DealerHand.dealer_cards_total_soft > DealerHand.player_card_total & DealerHand.dealer_cards_total_soft <= 21:
                DealerHand.player_card_total = DealerHand.dealer_cards_total_soft
            break
        elif DealerHand.player_card_total == 17:
            ongoing_dealer = False
            break
    print(DealerHand.dealer_cards_hand)
    #This determines who wins or if the game is a tie.
    if DealerHand.player_card_total == PlayerHand.player_card_total:
        print("Tie! ")
    elif DealerHand.player_card_total < PlayerHand.player_card_total:
        print("You Win! G" + str(bet))
        Player.gold = Player.gold + bet
    elif DealerHand.player_card_total > PlayerHand.player_card_total:
        print("You Lose. . . $-" + str(bet))
        Player.gold = Player.gold - bet

        main_menu()

#function for basic items and consumables.
def item_shop():
    print("       ")
    print("Welcome to the shop sir! Explore the catalogs and let me know if you want to purcahse anything... ")
    item_shop_selection = int(input("Catalog: 2 for items, 3 for Ranks, 4 for petshop: "))

#function for the general shop with misc things.
def shop():

    print("WELCOME TO THE SHOP!")
    print('''
    ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢔⢒⡿⠯⠥⢦⣦⣾⣄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⢮⠊⠁⠀⠀⠀⠀⠈⠉⠛⠳⡀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣧⣿⣝⡴⡔⠀⠀⠀⠀⠀⠀⠀⠀⠘⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣀⣀⣦⣶⣿⣿⣯⣿⢽⠁⢰⣢⣶⣦⣌⠠⠴⠆⠘⣀⠀⠀⠀
⠀⠀⠀⠀⢀⠔⠁⠀⢂⠘⢻⢛⣛⠿⣝⠁⠀⠼⣁⡴⣖⣫⠙⠙⠿⡳⡅⠀⠀⠀
⠀⠀⠀⢀⠂⠰⠀⠀⠈⡄⢠⢓⣺⢇⡇⣊⠐⠀⠉⠁⠲⠒⠀⠀⠀⠑⠅⠀⠀⠀
⠀⠀⠀⣨⠀⡇⠀⠀⠀⠰⢸⠄⠄⣸⣷⡦⣄⢤⠄⢄⡀⣀⠤⠠⡀⠀⠈⡄⠀⠀
⠀⠀⢠⠁⠙⣇⠀⠀⠀⠀⢾⠘⢠⣿⣟⣿⣿⣪⣮⣶⣸⣮⣖⣢⣌⠁⠀⠁⠀⠀
⠀⠀⢸⠀⠀⢹⠀⠀⠀⠀⠸⠀⢝⣻⣯⣿⢿⡫⢺⡩⠍⣉⣉⣨⡗⠉⠂⠊⠀⠀
⠀⠀⡈⠂⠀⣾⠀⠀⠀⠀⠀⠆⡸⣹⡿⣿⣯⣷⣱⣙⠫⠧⠷⣦⠀⠀⠀⠀⠀⠀
⠀⢠⠇⠀⠀⢉⠀⠀⠀⠀⠀⠈⠕⣻⣿⣿⣿⣟⣿⣿⡷⣶⣾⠿⠒⡁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⡇⠀⠀⠀⠀⠀⠈⢇⠻⠽⣿⡿⢟⣿⣻⡟⠁⠰⣯⡕⡰⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢩⠀⠀⠀⠀⠀⢀⠬⣍⠱⠨⠯⠛⠙⢏⠀⢀⡀⣨⡀⠤⢚⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢂⠀⠀⠀⠀⠀⢠⠁⠀⠀⠀⠀⠀⢸⠄⠰⡶⠲⢦⠓⠍⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠡⡀⠀⠀⠀⠀⠀⠀⡄⠀⢀⠄⠊⠉⠙⠑⠒⠊⠉⠀⠀''')

    print("Select 1 to view items;\
     Select 2 to view weapons; \
     Select 3 to play blackjack;\
     Select 4 to exit the shop;")
    shop_selection = int(input("Input your shop selection: "))

    if shop_selection == 4:
        main_menu()
    if shop_selection == 3:
        blackjack()
    elif shop_selection == 2:
        weapons_shop()
    elif shop_selection == 1:
        item_shop()

#function to fight monsters .
def mob_fight():
    mob_attack = (random.randint(0,15))
    mob_health = (random.randint(50,70))
    mob_xp_drop = (random.randint(2,10))
    mob_gold_drop = (random.randint(10, 25))

    print("A GOBLIN APPROACHES!")
    print('''
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣶⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠢⣤⣀⡀⠀⠀⠀⢿⣧⣄⡉⠻⢿⣿⣿⡿⠟⢉⣠⣼⡿⠀⠀⠀⠀⣀⣤⠔⠀
⠀⠀⠈⢻⣿⣶⠀⣷⠀⠉⠛⠿⠶⡴⢿⡿⢦⠶⠿⠛⠉⠀⣾⠀⣶⣿⡟⠁⠀⠀
⠀⠀⠀⠀⠻⣿⡆⠘⡇⠘⠷⠠⠦⠀⣾⣷⠀⠴⠄⠾⠃⢸⠃⢰⣿⠟⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠋⢠⣾⣥⣴⣶⣶⣆⠘⣿⣿⠃⣰⣶⣶⣦⣬⣷⡄⠙⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢋⠛⠻⠿⣿⠟⢹⣆⠸⠇⣰⡏⠻⣿⠿⠟⠛⡙⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⢧⡀⠠⠄⠀⠈⠛⠀⠀⠛⠁⠀⠠⠄⢀⡼⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⢻⣦⡀⠃⠀⣿⡆⢰⣿⠀⠘⢀⣴⡟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣦⡀⠘⠇⠸⠃⢀⣴⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣷⣄⣠⣾⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀''')
    
    while mob_health > 0 and Player.health:
        player_input = int(input("1 to attack; 2 to defend; 3 to taunt;"))
        mob_attack = (random.randint(0,15))
        if player_input == 1:
            mob_health = mob_health - Player.damage
            print("You dealt " + str(Player.damage) + " damage!")
            Player.health = Player.health - mob_attack
            print("You took " + str(mob_attack) + " damage!")
            print("Player HP: " + str(Player.health))
            print("Mob HP: " + str(mob_health))

        elif player_input == 2:
            Player.health = Player.health - (mob_attack - Player.defense)
            
            print("You only took " + str(mob_attack - Player.defense) + " damage!")
            print("Player HP: " + str(Player.health))
            print("Mob HP: " + str(mob_health))
        elif player_input == 3:
            print("The goblin laughs at you :) ")
        else:
            print("Invalid choice... ")
    
    if Player.health > 0:
        Player.health = Player.max_health
        print("You win!")
        Player.experience = Player.experience + mob_xp_drop
        print("You have gained " + str(mob_xp_drop) + " XP")
        Player.gold = Player.gold + mob_gold_drop
        print("You have gained " + str(mob_gold_drop) + " G")

    else:
        print("You Lose!")
        Player.health = Player.max_health
    
    if Player.experience >= Player.experience_threshhold:
        Player.level = Player.level + 1
        Player.experience_threshhold = Player.experience_threshhold * 2
        Player.experience = Player.experience - Player.experience_threshhold

    print("         ")
    print("MAIN MENU")
    main_menu()
    
   #Player main menu. 
def main_menu():

    player = Player()
    askSave(player)
    player = load(player)
    print(player.gold)



    print("Select 1 to fight mobs; Select 2 to go to shop; Select 3 to view stats; Select 4 to equip a weapon; Select 5 to save; Select 6 to load")
    menu_selection = int(input("Input your menu selection: "))

    if menu_selection == 1:
        mob_fight()
        print("You go to the woods to fight mobs... ")
    elif menu_selection == 2:
        print("      ")
        shop()
    elif menu_selection == 3:
        print('''⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
            ⢀⣠⣴⣶⣶⣶⣶⣶⣶⣶⣦⣄⡀⠀⠐⡆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⣼⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣷⡦⠄⣀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⠀⠈⠀⠀⠀⠀
⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀
⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⡇⠀⠀⠀⠀
⠀⠀⠀⢰⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⡫⣁⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⡟⠃⣿⣿⣿⡟⠁⠀⠉⠛⠛⢻⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀
⠀⠀⠀⠀⢸⣿⣿⣿⣿⡿⢿⣿⣯⡽⠿⠛⠉⠀⠀⠀⣬⠽⢷⣶⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀
⠀⠀⠀⣠⠋⢀⠙⡏⠁⣀⣾⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⡇⠘⣿⢉⡄⠱⡄⠀⠀⠀
⠀⠀⠀⢇⠀⠲⣹⣿⠀⠀⠈⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⢸⡟⡡⠀⠠⠃⠀⠀⠀
⠀⠀⠀⠈⠱⢄⡈⠹⡆⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⢀⡎⠁⢀⠔⠃⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠙⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠜⠉⠉⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⡀⠀⠀⠀⠀⠐⠒⠀⠀⠀⠀⢀⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⢢⣤⡀⠀⠀⠀⣠⣤⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢾⠿⣿⣿⣿⣿⣿⡿⣗⡆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠊⠘⡞⠀⠈⠙⠛⠛⠉⠀⢻⠇⠈⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣀⣀⣴⡿⠀⠀⠰⣀⠀⠀⠀⠀⠀⢠⠇⠀⠀⢹⣦⣄⣀⠀⠀⠀⠀⠀⠀⠀''')
        print("PLAYER STATS: ")
        print("Level: " + str(Player.level))
        print("HP: " + str(Player.max_health))
        print("Damage: " + str(Player.damage))
        print("Gold: " + str(Player.gold))
        print("XP: " + str(Player.experience))
        print("Defense: " + str(Player.defense))
        print("Items: " + str(Player.items[:]))
        print("Weapons: " + str(Player.weapons[:]))
        print("Equipped weapon: " + str(Player.equipped_weapon[:]))
        main_menu()
    elif menu_selection == 4:
        weapon_equip()
    elif menu_selection == 5:
        askSave(player)
    elif menu_selection == 6:
        load()
    else:
        main_menu()
#We want the player to start and return on the menu, so we only call the main_menu.
print("WELCOME TO LISBANE! ")
print("                 __ \n"
"                /  >\n"
"  *            /  /________________________________________________\n"
" (O)77777777777)  7                                                `~~--__\n"
"8OO>>>>>>>>>>>>] <===                           __-\n"
" (O)LLLLLLLLLLL)  L________________________________________________.--~~\n"
"  *            \  \ \n"
"                \__>\n"
)
main_menu()

I tried modeling my code based on some reference code I found, but I assume I am wrong somewhere.

import os, pickle

FILE = 'PlayerPickle.pkl'

class Player:
    level = 1
    player_name = "bob"
    health = 100
    max_health = 100
    damage = 10
    gold = 400
    pet = ""
    experience = 0
    defense = 2
    weapons = ["Paper Sword"]
    items = []
    equipped_weapon = ("Rat")
    experience_threshhold = 10


def load(player):
    if os.path.isfile(FILE):
        return pickle.load(open(FILE,"rb")) #Loads the file
    return player

def save(player):
    pickle.dump(player, open(FILE, "wb",))

def main():
    player = Player()
    player = load(player)
    print(f'Initial Player name {player.player_name}, gold:{player.gold}')
    
    delta = int(input('Enter change in gold: '))
    
    player.gold += delta

    print(f'Current Player name {player.player_name}, gold:{player.gold}')
    
    save(player)

main()
0

There are 0 best solutions below