0

Nevermind I didn't do the indenting right. But now I'm getting a bunch of errors and I don't know what to do.

import random
class NorbertQuest(object):

    
    def __init__(self):
        self.w = 0
        self.level = 1
        self.m = random.randrange(50)+1+self.level*5
        self.cost = 0
        self.xp = 0
        self.health = 150
        self.ehealth = 100
        self.money = 0

        def Shop():
            self.weapon1 = "Steel Knuckles"
            self.weapon2 = "Knife"
            self.weapon3 = "Sword"
            self.weapon4 = "Gun"
            self.weapon5 = "Rocket Launcher"
            print \
             """
             What'll it be?
             1 - Steel Knuckles 20$
             2 - Knife 30$
             3 - Sword 100$
             4 - Gun 300$
             5 - Rocket Launcher 1000$
             Type exit to quit.
             """
            self.z = input("Which weapon do you want?")
            if self.z == 1:
                self.cost = 20
                if self.money >= self.cost:
                    print"You have bought",self.weapon1
                    self.money = self.money - self.cost
                    self.w = 1
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == 2:
                self.cost = 30
                if self.money >= self.cost:
                    print"You have bought",self.weapon2
                    self.money = self.money - self.cost
                    self.w = 2
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
                elif self.z == 3:
                    self.cost = 100
                    if money >= self.cost:
                        print"You have bought",self.weapon3
                        self.money = self.money - self.cost
                        self.w = 3
                        self.mode = "restart"
                    elif self.money < self.cost:
                        print"You don't have enough gold to buy this."
                        raw_input("Press [enter] to exit.")
                        self.mode = "restart"
                elif self.z == 4:
                    self.cost = 300
                    if money >= self.cost:
                        print"You have bought",self.weapon4
                        self.money = self.money - self.cost
                        self.w = 4
                        self.mode = "restart"
                    elif self.money < self.cost:
                        print"You don't have enough gold to buy this."
                        raw_input("Press [enter] to exit.")
                        self.mode = "restart"
                elif self.z == 5:
                    self.cost = 1000
                    if self.money >= self.cost:
                        print"You have bought",self.weapon5
                        self.money = self.money - self.cost
                        self.w = 5
                        self.mode = "restart"
                    elif self.money < self.cost:
                        print"You don't have enough gold to buy this."
                        raw_input("Press [enter] to exit.")
                        self.mode = "restart"
                elif self.z == "exit":
                    self.mode = "restart"

        def eAttack():
            self.attacke = random.randrange(10)+self.level*10
            return self.attacke

        def HP():
            self.e = self.eAttack()
            self.health = self.health - self.e
            print"Your HP is",self.health

        def nAttack():
            self.attack = random.randrange(10)+level*5
            if self.w == 1:
                self.attack = random.randrange(10)+20+level*5
            elif self.w == 2:
                self.attack = random.randrange(10)+35+level*5
            elif self.w == 3:
                self.attack = random.randrange(10)+55+level*5
            elif self.w == 4:
                self.attack = random.randrange(10)+80+level*5
            elif self.w == 5:
                self.attack = random.randrange(10)+110+level*5
            return self.attack

        self.tnls = [100, 250, 450, 650, 900, 1200, 1550, 1950, 2400, 2900]

        def LVL():
            if 1 <= self.level <= len(self.tnls):
                self.tnl = self.tnls[self.level-1]
                if self.tnl <= self.xp:
                    self.level += 1
                    if self.level > len(self.tnls):
                        self.level = 100
                    self.xp = 0
                    print("Your new level is %d! Congratulations!" % self.level)
            if self.level == 100:
                print("Congratulations, you beat the Demo!")
        
        def EnemyHP():
            self.n = self.nAttack()
            self.ehealth = self.ehealth - self.n
            print "Monster's HP is",self.ehealth

        self.monster = "Giant Python!"
    
        while True:
            print \
                  """
                  Welcome to NorbertQuest!
                  Type:
                  - [battle] to hunt monsters
                  - [shop] to buy weapons
                  - [exit] to quit the game.
                  """
            self.mode = raw_input("What do you want to do?: ")
            if self.mode == "shop":
                Shop()
        
            if self.mode == "battle":
                print"You have encountered a",self.monster,"What will you do?"
                self.health = 150+self.level*100
                self.ehealth = 100+self.level*125
                self.m = random.randrange(50)+1+self.level*5
                self.xpGain = random.randrange(25)+self.level+25
                self.xp = self.xpGain + self.xp
                LVL()
            while self.mode == "battle":
                self.fight = random.randrange(10)+1
                if self.fight == 1:
                    self.monster = "Dragon!"
                elif self.fight == 2:
                    self.monster = "Wild Cayote!"
                elif self.fight == 3:
                    self.monster == "Jaguar!"
                elif self.fight == 4:
                    self.monster = "Orc Lord!"
                elif self.fight == 5:
                    self.monster = "Goblin!"
                elif self.fight == 6:
                    self.monster = "Crazy Robot!"
                elif self.fight == 7:
                    self.monster = "Werewolf!"
                elif self.fight == 8:
                    self.monster = "Vampire!"
                elif self.fight == 9:
                    self.monster = "Giant Spider!"
                elif self.fight == 10:
                    self.monster = "Pirate King!"
                self.turn = raw_input("Do you want to Attack or Defend?")
            
                if"attack"in self.turn:
                    print"You're attacking!"
                    EnemyHP()
                    HP()
                elif"defend"in self.turn:
                    print"You're defending!"
                    print"Monster's HP is",self.ehealth
                    print"Your HP is",self.health
                else:
                    print"Type attack or Defend!"
    
                if self.health <= 0:
                    print"You are dead!"
                    self.mode = "restart"
                    resetHP()
                elif self.ehealth <= 0:
                    print "You win the battle! You earn",self.m,"$!"
                    self. money = self.money + self.m
                    self.mode = "restart"
                    resetHP()
                    self.m = random.randrange(50)+1+self.level*5
                    self.xpGain = random.randrange(25)+self.level+25
                    self.xp = self.xpGain + self.xp
                    LVL()
                    print"You gain",self.xpGain,"Experience Points!"
            


            if self.mode == "exit":
                self.exit = raw_input("Are you sure you want to quit? All progress will be lost. Yes or no: ")
                if"yes"in self.exit:
                    break
                elif"no"in self.exit:
                    self.mode = "restart"


            raw_input("Press [enter] to exit.")
n  = NorbertQuest()
n.HP()
0

I'm not sure what prompted you to turn the whole thing into a class, but I'll go with it if that's what you want to do.

It was said earlier, but ALL of the functions in the class need to have self as the first parameter:

def Shop(self):
    def eAttack(self):
    def HP(self):
    def nAttack(self):
    def LVL(self):
    def EnemyHP(self):

And you were NOT supposed to indent them all under __init__(self)

Ok I tried to do only the minimum required to get this to run, but I did move a couple of lines around and I made a Battle(self) function like the Shop(self) function.

import random
class NorbertQuest(object):

    def __init__(self):
        self.w = 0
        self.level = 1
        self.m = random.randrange(50)+1+self.level*5
        self.cost = 0
        self.xp = 0
        self.health = 150
        self.ehealth = 100
        self.money = 0
        self.tnls = [100, 250, 450, 650, 900, 1200, 1550, 1950, 2400, 2900]

    def Shop(self):
        self.weapon1 = "Steel Knuckles"
        self.weapon2 = "Knife"
        self.weapon3 = "Sword"
        self.weapon4 = "Gun"
        self.weapon5 = "Rocket Launcher"
        print \
         """
         What'll it be?
         1 - Steel Knuckles 20$
         2 - Knife 30$
         3 - Sword 100$
         4 - Gun 300$
         5 - Rocket Launcher 1000$
         Type exit to quit.
         """
        self.z = input("Which weapon do you want?")
        if self.z == 1:
            self.cost = 20
            if self.money >= self.cost:
                print"You have bought",self.weapon1
                self.money = self.money - self.cost
                self.w = 1
                self.mode = "restart"
            elif self.money < self.cost:
                print"You don't have enough gold to buy this."
                raw_input("Press [enter] to exit.")
                self.mode = "restart"
        elif self.z == 2:
            self.cost = 30
            if self.money >= self.cost:
                print"You have bought",self.weapon2
                self.money = self.money - self.cost
                self.w = 2
                self.mode = "restart"
            elif self.money < self.cost:
                print"You don't have enough gold to buy this."
                raw_input("Press [enter] to exit.")
                self.mode = "restart"
            elif self.z == 3:
                self.cost = 100
                if money >= self.cost:
                    print"You have bought",self.weapon3
                    self.money = self.money - self.cost
                    self.w = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == 4:
                self.cost = 300
                if money >= self.cost:
                    print"You have bought",self.weapon4
                    self.money = self.money - self.cost
                    self.w = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == 5:
                self.cost = 1000
                if self.money >= self.cost:
                    print"You have bought",self.weapon5
                    self.money = self.money - self.cost
                    self.w = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == "exit":
                self.mode = "restart"

    def eAttack(self):
        self.attacke = random.randrange(10) + self.level * 10
        return self.attacke

    def HP(self):
        self.e = self.eAttack()
        self.health = self.health - self.e
        print"Your HP is",self.health

    def nAttack(self):
        self.attack = random.randrange(10) + self.level * 5
        if self.w == 1:
            self.attack = random.randrange(10) + 20 + self.level * 5
        elif self.w == 2:
            self.attack = random.randrange(10) + 35 + self.level * 5
        elif self.w == 3:
            self.attack = random.randrange(10) + 55 + self.level * 5
        elif self.w == 4:
            self.attack = random.randrange(10) + 80 + self.level * 5
        elif self.w == 5:
            self.attack = random.randrange(10) + 110 + self.level * 5
        return self.attack


    def LVL(self):
        if 1 <= self.level <= len(self.tnls):
            self.tnl = self.tnls[self.level-1]
            if self.tnl <= self.xp:
                self.level += 1
                if self.level > len(self.tnls):
                    self.level = 100
                self.xp = 0
                print("Your new level is %d! Congratulations!" % self.level)
        if self.level == 100:
            print("Congratulations, you beat the Demo!")
    
    def EnemyHP(self):
        self.n = self.nAttack()
        self.ehealth = self.ehealth - self.n
        print "Monster's HP is",self.ehealth

        
    def Battle(self):
        # We are pre-deciding what the rewards will be?
        self.m = random.randrange(50) + 1 + self.level * 5
        self.xpGain = random.randrange(25) + self.level + 25
        
        # Why are we granting XP before the battle even begins?
        self.xp = self.xpGain + self.xp
        self.LVL()
        
        # Pick the monster to fight
        self.fight = random.randrange(10)+1
        if self.fight == 1:
            self.monster = "Dragon!"
        elif self.fight == 2:
            self.monster = "Wild Cayote!"
        elif self.fight == 3:
            self.monster == "Jaguar!"
        elif self.fight == 4:
            self.monster = "Orc Lord!"
        elif self.fight == 5:
            self.monster = "Goblin!"
        elif self.fight == 6:
            self.monster = "Crazy Robot!"
        elif self.fight == 7:
            self.monster = "Werewolf!"
        elif self.fight == 8:
            self.monster = "Vampire!"
        elif self.fight == 9:
            self.monster = "Giant Spider!"
        elif self.fight == 10:
            self.monster = "Pirate King!"
        
        print "You have encountered a", self.monster, "What will you do?"
        self.health = 150 + self.level * 100
        self.ehealth = 100 + self.level * 125
        
        while self.health > 0 and self.ehealth > 0:
            self.turn = raw_input("Do you want to [attack] or [defend]?")
        
            if "attack" in self.turn:
                print "You're attacking!"
                self.EnemyHP()
                self.HP()
            elif "defend" in self.turn:
                print "You're defending!"
                print "Monster's HP is",self.ehealth
                print "Your HP is",self.health
            else:
                print "Type attack or Defend!"

        if self.health <= 0:
            print "You are dead!"
        elif self.ehealth <= 0:
            print "You win the battle! You earn",self.m,"$!"
            self.money = self.money + self.m
            # why are we generating self.m again? it will generate when we start the next battle
            self.m = random.randrange(50)+1+self.level*5
            # why are we generating self.xpGain again? We did it at the start of this battle
            self.xpGain = random.randrange(25)+self.level+25
            self.xp = self.xpGain + self.xp
            print"You gain",self.xpGain,"Experience Points!"
            self.LVL()
        
    def main(self):
        while True:
            print \
                  """
                  Welcome to NorbertQuest!
                  Type:
                  - [battle] to hunt monsters
                  - [shop] to buy weapons
                  - [exit] to quit the game.
                  """
            self.mode = raw_input("What do you want to do?: ")
            if self.mode == "shop":
                self.Shop()
        
            if self.mode == "battle":
                self.Battle()

            if self.mode == "exit":
                print "If you exit now, all progress will be lost."
                self.exit = raw_input("Are you sure you want to quit? Yes or no: ")
                if "yes" in self.exit:
                    break


if __name__ == "__main__":
    n  = NorbertQuest()
    n.main()
    
    raw_input("Press [enter] to exit.")

You still don't tell me how much money I have when I enter the shop.

With the new calculations, I always lose the first battle so I don't get XP and I don't get money. So I can't buy any weapon upgrades either. (I don't have to win all of the time, but I should at least have a chance.)

I still REALLY don't like having to enter the full word for everything from the menu...if my debugger wasn't letting me 'cursor up' to select previous entries, I would never play your game past about 3 attacks into the first battle.

Not everything needs to have self. in front of it.
If the variable is only used within the function where you first see it, then it doesn't need self at all.

For example:

def eAttack(self):
        self.attacke = random.randrange(10) + self.level * 10
        return self.attacke

    def HP(self):
        self.e = self.eAttack()
        self.health = self.health - self.e
        print "Your HP is", self.health

could be written as:

def eAttack(self):
        return random.randrange(10) + self.level * 10

    def HP(self):
        eatk = self.eAttack()
        self.health = self.health - eatk
        print "Your HP is", self.health

or even:

def eAttack(self):
        return random.randrange(10) + self.level * 10

    def HP(self):
        self.health = self.health - self.eAttack()
        print "Your HP is", self.health
0

Keep getting an error about the tnls:

import random
class NorbertQuest(object):

    
    def __init__(self):
        self.w = 0
        self.level = 1
        self.m = random.randrange(50)+1+self.level*5
        self.cost = 0
        self.xp = 0
        self.health = 150
        self.ehealth = 100
        self.money = 0
        self.tnls = [100, 250, 450, 650, 900, 1200, 1550, 1950, 2400, 2900]

    def Shop(self):
        self.weapon1 = "Steel Knuckles"
        self.weapon2 = "Knife"
        self.weapon3 = "Sword"
        self.weapon4 = "Gun"
        self.weapon5 = "Rocket Launcher"
        print \
            """
            What'll it be?
            1 - Steel Knuckles 20$
            2 - Knife 30$
            3 - Sword 100$
            4 - Gun 300$
            5 - Rocket Launcher 1000$
            Type exit to quit.
            """
        self.z = input("Which weapon do you want?")
        if self.z == 1:
            self.cost = 20
            if self.money >= self.cost:
                print"You have bought",self.weapon1
                self.money = self.money - self.cost
                self.w = 1
                self.mode = "restart"
            elif self.money < self.cost:
                print"You don't have enough gold to buy this."
                raw_input("Press [enter] to exit.")
                self.mode = "restart"
        elif self.z == 2:
            self.cost = 30
            if self.money >= self.cost:
                print"You have bought",self.weapon2
                self.money = self.money - self.cost
                self.w = 2
                self.mode = "restart"
            elif self.money < self.cost:
                print"You don't have enough gold to buy this."
                raw_input("Press [enter] to exit.")
                self.mode = "restart"
            elif self.z == 3:
                self.cost = 100
                if money >= self.cost:
                    print"You have bought",self.weapon3
                    self.money = self.money - self.cost
                    self.w = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == 4:
                self.cost = 300
                if money >= self.cost:
                    print"You have bought",self.weapon4
                    self.money = self.money - self.cost
                    self.w = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == 5:
                self.cost = 1000
                if self.money >= self.cost:
                    print"You have bought",self.weapon5
                    self.money = self.money - self.cost
                    self.w = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == "exit":
                self.mode = "restart"

    def eAttack(self):
        self.attacke = random.randrange(10)+self.level*5
        return self.attacke

    def HP(self):
        self.e = self.eAttack(self)
        self.health = self.health - self.e
        print"Your HP is",self.health

    def nAttack(self):
        self.attack = random.randrange(10)+level*5
        if self.w == 1:
            self.attack = random.randrange(10)+20+level*5
        elif self.w == 2:
            self.attack = random.randrange(10)+35+level*5
        elif self.w == 3:
            self.attack = random.randrange(10)+55+level*5
        elif self.w == 4:
            self.attack = random.randrange(10)+80+level*5
        elif self.w == 5:
            self.attack = random.randrange(10)+110+level*5
        return self.attack

    self.tnls = [100, 250, 450, 650, 900, 1200, 1550, 1950, 2400, 2900]

    def LVL(self):
        if 1 <= self.level <= len(self.tnls):
            self.tnl = self.tnls[self.level-1]
            if self.tnl <= self.xp:
                self.level += 1
                if self.level > len(self.tnls):
                    self.level = 100
                self.xp = 0
                print("Your new level is %d! Congratulations!" % self.level)
        if self.level == 100:
            print("Congratulations, you beat the Demo!")
        
    def EnemyHP(self):
        self.n = self.nAttack(self)
        self.ehealth = self.ehealth - self.n
        print "Monster's HP is",self.ehealth

    self.monster = "Giant Python!"
    
    while True:
        print \
                """
                Welcome to NorbertQuest!
                Type:
                - [battle] to hunt monsters
                - [shop] to buy weapons
                - [exit] to quit the game.
                """
        self.mode = raw_input("What do you want to do?: ")
        if self.mode == "shop":
            print"You have",self.money,"$ to spend."
            Shop(self)
        
        if self.mode == "battle":
            print"You have encountered a",self.monster,"What will you do?"
            self.health = 150+self.level*25
            self.ehealth = 100+self.level*30
            self.m = random.randrange(50)+1+self.level*5
        while self.mode == "battle":
            self.fight = random.randrange(10)+1
            if self.fight == 1:
                self.monster = "Dragon!"
            elif self.fight == 2:
                self.monster = "Wild Cayote!"
            elif self.fight == 3:
                self.monster == "Jaguar!"
            elif self.fight == 4:
                self.monster = "Orc Lord!"
            elif self.fight == 5:
                self.monster = "Goblin!"
            elif self.fight == 6:
                self.monster = "Crazy Robot!"
            elif self.fight == 7:
                self.monster = "Werewolf!"
            elif self.fight == 8:
                self.monster = "Vampire!"
            elif self.fight == 9:
                self.monster = "Giant Spider!"
            elif self.fight == 10:
                self.monster = "Pirate King!"
            self.turn = input("Do you want to Attack[1], Defend[2] or Cast a spell [coming soon]?")
            
            if self.turn == 1:
                print"You're attacking!"
                EnemyHP(self)
                HP(self)
            elif self.turn == 2:
                print"You're defending!"
                print"Monster's HP is",self.ehealth
                print"Your HP is",self.health
            else:
                print"Invalid selection!"
    
            if self.health <= 0:
                print"You are dead!"
                self.mode = "restart"
                resetHP(self)
            elif self.ehealth <= 0:
                print "You win the battle! You earn",self.m,"$!"
                self.mode = "restart"
                resetHP(self)
                self.m = random.randrange(50)+1+self.level*5
                self.xpGain = random.randrange(25)+self.level*5+25
                self.xp = self.xpGain + self.xp
                LVL(self)
                print"You gain",self.xpGain,"Experience Points!"
            


            if self.mode == "exit":
                self.exit = raw_input("Are you sure you want to quit? All progress will be lost. Yes or no: ")
                if"yes"in self.exit:
                    break
                elif"no"in self.exit:
                    self.mode = "restart"


            raw_input("Press [enter] to exit.")
n  = NorbertQuest(self)
n.HP(self)
0

Keep getting an error about the tnls:

Your indentation is off... starting with tnls on line 114 and again at 133 going down.

0

I fixed it. But now there's a new problem with the eAttack:

import random
class NorbertQuest(object):

    
    def __init__(self):
        self.w = 0
        self.level = 1
        self.m = random.randrange(50)+1+self.level*5
        self.cost = 0
        self.xp = 0
        self.health = 150
        self.ehealth = 100
        self.money = 0
        self.tnls = [100, 250, 450, 650, 900, 1200, 1550, 1950, 2400, 2900]
        
    def Shop(self):
        self.weapon1 = "Steel Knuckles"
        self.weapon2 = "Knife"
        self.weapon3 = "Sword"
        self.weapon4 = "Gun"
        self.weapon5 = "Rocket Launcher"
        print \
            """
            What'll it be?
            1 - Steel Knuckles 20$
            2 - Knife 30$
            3 - Sword 100$
            4 - Gun 300$
            5 - Rocket Launcher 1000$
            Type exit to quit.
            """
        self.z = input("Which weapon do you want?")
        if self.z == 1:
            self.cost = 20
            if self.money >= self.cost:
                print"You have bought",self.weapon1
                self.money = self.money - self.cost
                self.w = 1
                self.mode = "restart"
            elif self.money < self.cost:
                print"You don't have enough gold to buy this."
                raw_input("Press [enter] to exit.")
                self.mode = "restart"
        elif self.z == 2:
            self.cost = 30
            if self.money >= self.cost:
                print"You have bought",self.weapon2
                self.money = self.money - self.cost
                self.w = 2
                self.mode = "restart"
            elif self.money < self.cost:
                print"You don't have enough gold to buy this."
                raw_input("Press [enter] to exit.")
                self.mode = "restart"
            elif self.z == 3:
                self.cost = 100
                if money >= self.cost:
                    print"You have bought",self.weapon3
                    self.money = self.money - self.cost
                    self.w = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == 4:
                self.cost = 300
                if money >= self.cost:
                    print"You have bought",self.weapon4
                    self.money = self.money - self.cost
                    self.w = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == 5:
                self.cost = 1000
                if self.money >= self.cost:
                    print"You have bought",self.weapon5
                    self.money = self.money - self.cost
                    self.w = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.z == "exit":
                self.mode = "restart"

    def eAttack(self):
        self.attacke = random.randrange(10)+self.level*5
        return self.attacke

    def HP(self):
        self.e = eAttack(self)
        self.health = self.health - self.e
        print"Your HP is",self.health

    def nAttack(self):
        self.attack = random.randrange(10)+level*5
        if self.w == 1:
            self.attack = random.randrange(10)+20+level*5
        elif self.w == 2:
            self.attack = random.randrange(10)+35+level*5
        elif self.w == 3:
            self.attack = random.randrange(10)+55+level*5
        elif self.w == 4:
            self.attack = random.randrange(10)+80+level*5
        elif self.w == 5:
            self.attack = random.randrange(10)+110+level*5
        return self.attack

        self.tnls = [100, 250, 450, 650, 900, 1200, 1550, 1950, 2400, 2900]

    def LVL(self):
        if 1 <= self.level <= len(self.tnls):
            self.tnl = self.tnls[self.level-1]
            if self.tnl <= self.xp:
                self.level += 1
                if self.level > len(self.tnls):
                    self.level = 100
                self.xp = 0
                print("Your new level is %d! Congratulations!" % self.level)
        if self.level == 100:
            print("Congratulations, you beat the Demo!")
        
    def EnemyHP(self):
        self.n = self.nAttack(self)
        self.ehealth = self.ehealth - self.n
        print "Monster's HP is",self.ehealth

        self.monster = "Giant Python!"
    
        while True:
            print \
                """
                Welcome to NorbertQuest!
                Type:
                - [battle] to hunt monsters
                - [shop] to buy weapons
                - [exit] to quit the game.
                """
            self.mode = raw_input("What do you want to do?: ")
            if self.mode == "shop":
                print"You have",self.money,"$ to spend."
                Shop(self)
        
            if self.mode == "battle":
                print"You have encountered a",self.monster,"What will you do?"
                self.health = 150+self.level*25
                self.ehealth = 100+self.level*30
                self.m = random.randrange(50)+1+self.level*5
            while self.mode == "battle":
                self.fight = random.randrange(10)+1
                if self.fight == 1:
                    self.monster = "Dragon!"
                elif self.fight == 2:
                    self.monster = "Wild Cayote!"
                elif self.fight == 3:
                    self.monster == "Jaguar!"
                elif self.fight == 4:
                    self.monster = "Orc Lord!"
                elif self.fight == 5:
                    self.monster = "Goblin!"
                elif self.fight == 6:
                    self.monster = "Crazy Robot!"
                elif self.fight == 7:
                    self.monster = "Werewolf!"
                elif self.fight == 8:
                    self.monster = "Vampire!"
                elif self.fight == 9:
                    self.monster = "Giant Spider!"
                elif self.fight == 10:
                    self.monster = "Pirate King!"
                self.turn = input("Do you want to Attack[1], Defend[2] or Cast a spell [coming soon]?")
            
                if self.turn == 1:
                    print"You're attacking!"
                    EnemyHP(self)
                    HP(self)
                elif self.turn == 2:
                    print"You're defending!"
                    print"Monster's HP is",self.ehealth
                    print"Your HP is",self.health
                else:
                    print"Invalid selection!"
    
                if self.health <= 0:
                    print"You are dead!"
                    self.mode = "restart"
                    resetHP(self)
                elif self.ehealth <= 0:
                    print "You win the battle! You earn",self.m,"$!"
                    self.mode = "restart"
                    resetHP(self)
                    self.m = random.randrange(50)+1+self.level*5
                    self.xpGain = random.randrange(25)+self.level*5+25
                    self.xp = self.xpGain + self.xp
                    LVL(self)
                    print"You gain",self.xpGain,"Experience Points!"
            


                if self.mode == "exit":
                    self.exit = raw_input("Are you sure you want to quit? All progress will be lost. Yes or no: ")
                    if"yes"in self.exit:
                        break
                    elif"no"in self.exit:
                        self.mode = "restart"


            raw_input("Press [enter] to exit.")
n  = NorbertQuest()
n.HP()
0

Line 96 should be:

self.e = self.eAttack()

The self.tnls on line 114 does not belong. It was moved to line 14.


(Why did you only copy part of the source when I went to the trouble to fix it all so it would run?)

You now have the 'main loop' of the program as part of the EnemyHP() function and that is NOT where it belongs.

If there is something about a suggestion you don't understand, ask about it, don't ignore it.

0

You mean the suggestion to make all the modes into functions? I'll try it, though the saving isn't working at all.

0

I meant the second code fragment in post 32 where I posted you an entire file full of working code. The code isn't a fully complete version, but it would in fact compile and run.

I last posted about saving back in post # 14

The 'save' feature is something you'll have to work on as well. First step is to decide what it is that you want to save. We don't have one yet, but does the player have a name? They have gold and a weapon, is that what we save? Do we want to keep some form of battle statistics and save them?

The basic file concepts (from your 'how do I save' thread) are how you get data into and out of the file. How your application interfaces to the files is up to you, but I recommend something like this:

* Set variables to the default value
* Check for the save file
* If the save file exists, update the variables from the file


To get the save file created, the application either needs to do saves from time to time (oh, like whenever they complete a battle or shop at the store) or just save when the program exits.

0

So if it works and I post the code onto here, will the saved gamed appear here? Like when you guys start the game, will you have my saved game?

0

The saved games should not change the code, but if you posted the file with the saved game in it, we should be able to save it and have the game load it like it was our saved game.

0

Murtan I took your code with the mode inputs as functions and pimped it out a bit, but I can't figure this part out:

import random
class NorbertQuest(object):

    def __init__(self):
        self.weapon = 0
        self.armor = 0
        self.level = 1
        self.m = random.randrange(50)+1+self.level*5
        self.cost = 0
        self.xp = 0
        self.health = 150
        self.ehealth = 100
        self.money = 100
        self.tnls = [100+level*50]
        self.wepORshield = 0
        self.withdraw = 0
        self.deposit = 0
        self.bankbalance = 0

    def Shop(self):
        self.weapons[1:"Steel Knuckles",2:"Knife",3:"Sword",4:"Gun",5:"Rocket Launcher"]
        self.armors[1:"Leather Jacket",2:"Padded Sweater",3:"Iron Arm-shield",4:"Bullet-Proof Jacket",5:"Bomber Squad Armor Plated Suit"]
        print \
        """
        What'll it be?
        Weapons:
        1 - Steel Knuckles 50$
        2 - Knife 75$
        3 - Sword 300$
        4 - Gun 800$
        5 - Rocket Launcher 2500$

        Armor:
        1 - Leather Jacket 50$
        2 - Padded Sweater 75$
        3 - Iron Arm-shield 300$
        4 - Bullet-Proof Jacket 800$
        5 - Bomber Squad Armor Plated Suit
         
        Type exit to quit.
        """
        self.wepORshield = raw_input("Do you want weapons or armor?")
        if self.wepORshield == "weapons":
            self.atk = input("Which weapon do you want?")
            if self.atk == 1:
                self.cost = 50
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 1
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 2:
                self.cost = 75
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 2
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 3:
                self.cost = 300
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 4:
                self.cost = 800
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            if self.atk == 5:
                self.cost = 2500
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"

        elif wepORshield == "shield":
            if self.shield == 1:
                self.cost = 50
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 1
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 2:
                self.cost = 75
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 2
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 3:
                self.cost = 300
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 4:
                self.cost = 800
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            if self.shield == 5:
                self.cost = 2500
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
                elif self.atk == "exit":
                    self.mode = "restart"


    def eAttack(self):
        self.attacke = random.randrange(12)+self.level*12
        return self.attacke

    def HP(self):
        self.e = self.eAttack()
        self.d = self.nDefense()
        self.health = self.health - (self.e - self.d)
        print "Enemy hits for",self.e
        print "You block for",self.d
        print "Your HP is",self.health

    def nAttack(self):
        self.attack = random.randrange(10)+self.level*10
        if self.weapon == 1:
            self.attack = random.randrange(10)+35+self.level*10
        elif self.weapon == 2:
            self.attack = random.randrange(10)+55+self.level*10
        elif self.weapon == 3:
            self.attack = random.randrange(10)+90+self.level*10
        elif self.weapon == 4:
            self.attack = random.randrange(10)+150+self.level*10
        elif self.weapon == 5:
            self.attack = random.randrange(10)+340+self.level*10
        return self.attack

    def nDefense(self):
        self.armor = random.randrange(5)+self.level*5
        if self.armor == 1:
            self.defense = random.randrange(5)+10+self.level*5
        if self.armor == 2:
            self.defense = random.randrange(5)+25+self.level*5
        if self.armor == 3:
            self.defense = random.randrange(5)+45+self.level*5
        if self.armor == 4:
            self.defense = random.randrange(5)+70+self.level*5
        if self.armor == 5:
            self.defense = random.randrange(5)+125+self.level*5
        return self.defense

    def LVL(self):
        if 1 <= self.level <= len(self.tnls):
            self.tnl = self.tnls[self.level-1]
            if self.tnl <= self.xp:
                self.level += 1
                if self.level > len(self.tnls):
                    self.level = 100
                self.xp = 0
                print("Your new level is %d! Congratulations!" % self.level)
        if self.level == 100:
            print("Congratulations, you beat the Demo!")
    
    def EnemyHP(self):
        self.n = self.nAttack()
        self.ehealth = self.ehealth - self.n
        print "You hit for",self.n
        print "Enemy's HP is",self.ehealth
        

    def Bank(self):
        print"Welcome to the National Bank of NorbertQuest! What will you like to do?"
        self.bankchoice = raw_input("Do you want to withdraw or deposit? ")
        if self.bankchoice == "withdraw":
            print"Your current balance is",bankbalance,"dollars."
            self.withdraw = raw_input("How much would you like to withdraw? ")
            if self.withdraw > self.bankbalance:
                print"You don't have that much money in the bank!"
                self.mode = "restart"
            elif self.withdraw <= self.bankbalance:
                self.bankbalance - self.withdraw = self.money
                print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
                self.mode = "restart"
        elif self.bankchoice == "deposit":
            print"Your current balance is",bankbalance,"dollars."
            self.deposit = raw_input("How much would you like to deposit? ")
            if self.deposit > self.money:
                print"You don't have that much money on you!"
                self.mode = "restart"
            elif self.deposit <= self.money:
                self.money - self.deposit = self.bankbalance
                print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
                self.mode = "restart"
                    
    def Battle(self):
        self.fight = random.randrange(10)+1
        if self.fight == 1:
            self.monster = "Dragon!"
        elif self.fight == 2:
            self.monster = "Rogue Knight!"
        elif self.fight == 3:
            self.monster == "Jaguar!"
        elif self.fight == 4:
            self.monster = "Orc Lord!"
        elif self.fight == 5:
            self.monster = "Goblin!"
        elif self.fight == 6:
            self.monster = "Crazy Robot!"
        elif self.fight == 7:
            self.monster = "Werewolf!"
        elif self.fight == 8:
            self.monster = "Vampire!"
        elif self.fight == 9:
            self.monster = "Giant Spider!"
        elif self.fight == 10:
            self.monster = "Pirate King!"
        
        print "You have encountered a", self.monster, "What will you do?"
        self.health = 150 + self.level * 100
        self.ehealth = 100 + self.level * 125
        
        while self.health > 0 and self.ehealth > 0:
            self.turn = raw_input("Do you want to attack[1], defend[2] or cast a spell[coming soon]??")
        
            if self.turn == 1:
                print "You're attacking!"
                self.EnemyHP()
                self.HP()
            elif self.turn == 2:
                print "You're defending!"
                print "Monster's HP is",self.ehealth
                print "Your HP is",self.health
            else:
                print "Type attack or Defend!"

        if self.health <= 0:
            print "You are dead! You lose 50% of the money you have on you!"
            self.money = self.money/2
        elif self.ehealth <= 0:
            print "You win the battle! You earn",self.m,"$!"
            self.money = self.money + self.m
            self.m = random.randrange(50)+1+self.level*5
            self.xpGain = random.randrange(25)+self.level+25
            self.xp = self.xpGain + self.xp
            print"You gain",self.xpGain,"Experience Points!"
            self.LVL()
        
    def main(self):
        while True:
            print \
                """
                Welcome to NorbertQuest!
                Type:
                - [battle] to hunt monsters
                - [shop] to buy weapons
                - [bank] to visit the bank
                - [badge] to visit the Government Building
                - [exit] to quit the game
                
                """
            self.mode = raw_input("What do you want to do?: ")
            if self.mode == "shop":
                print"Your current weapon is",self.weapon[self.atk]
                print"Your current armor is",self.armor[self.shield]
                print"You have",money,"dollars on you."
                self.Shop()
        
            elif self.mode == "battle":
                self.Battle()

            elif self.mode == "badge":
                if self.level >= 10:
                    print"Your current Government Rank is",self.govrank
                    self.Badge()
                elif self.level < 10:
                    print"Come back when you're stronger!"
                    self.mode = "restart"

            elif self.mode == "bank":
                self.Bank()

            elif self.mode == "exit":
                print "If you exit now, all progress will be lost."
                self.exit = raw_input("Are you sure you want to quit? Yes or no: ")
                if "yes" in self.exit:
                    break
                if "no" in self.exit:
                    drlf.mode = "restart"


if __name__ == "__main__":
    n  = NorbertQuest()
    n.main()
    
    raw_input("Press [enter] to exit.")

I added a bank function (because dying needs consequences and you lose half your money on you so the bank keeps it safe) and a guild-like function (the government) and as you level up. you get new ranks and you get 10% more gold or xp (or higher) as your government rank goes up: level 10-officer, level 25-knight, level 50 - captain, level 90 - guardian, level 150 - lord commishener (I've got absolutely no idea how to spell it), level 200-imperial officer. once the xp/money increase is 100% or whatever, your xp and money will be double the usual you'd get. also there are special weapons only a certain rank can use (though I've yet to add them).

1

If you're having a problem with part of the code, please be specific as to what the problem is. What did you see? What did you expect to see?

If it is a compile problem, include the full text of the compiler error if possible.

I saw something interesting in your new banking code, you ask for the amount to deposit/withdraw using raw_input. This alone is not a problem but it does mean that the amount is a string and not a number. You will need to convert it to a number before you attempt to compare against the balance or the cash-on-hand.

0

In the bank function, it can't add the deposit into the bankbalance:

elif self.deposit <= self.money:
                self.money - self.deposit = self.bankbalance
                print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
                self.mode = "restart"
0
*** can't assign to operator (NQv1, line 241)

That's the error I get. Line 241 is the self.money - self.deposit = self.bankbalance in my previous post.

1

This is the problem:

self.money - self.deposit = self.bankbalance

Change it to this

self.bankbalance = self.money - self.deposit

Your operations always have to be on the Right side of the "=" sign

0

Ok now I have 2 more problems: My money disappears if I deposit it into the bank (you start off with 100 dollars) and also I don't know how to define self.atk:

import random
class NorbertQuest(object):

    def __init__(self):
        self.weapon = 0
        self.armor = 0
        self.level = 1
        self.m = random.randrange(50)+1+self.level*5
        self.cost = 0
        self.xp = 0
        self.health = 150
        self.ehealth = 100
        self.money = 100
        self.tnls = [100+self.level*50]
        self.wepORshield = 0
        self.bankbalance = 0
        self.withdraw = 0
        self.deposit = 0
        

    def Shop(self):
        self.weapons[1:"Steel Knuckles",2:"Knife",3:"Sword",4:"Gun",5:"Rocket Launcher"]
        self.armors[1:"Leather Jacket",2:"Padded Sweater",3:"Iron Arm-shield",4:"Bullet-Proof Jacket",5:"Bomber Squad Armor Plated Suit"]
        print \
        """
        What'll it be?
        Weapons:
        1 - Steel Knuckles 50$
        2 - Knife 75$
        3 - Sword 300$
        4 - Gun 800$
        5 - Rocket Launcher 2500$

        Armor:
        1 - Leather Jacket 50$
        2 - Padded Sweater 75$
        3 - Iron Arm-shield 300$
        4 - Bullet-Proof Jacket 800$
        5 - Bomber Squad Armor Plated Suit
         
        Type exit to quit.
        """
        self.wepORshield = raw_input("Do you want weapons or armor?")
        if self.wepORshield == "weapons":
            self.atk = input("Which weapon do you want?")
            if self.atk == 1:
                self.cost = 50
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 1
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 2:
                self.cost = 75
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 2
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 3:
                self.cost = 300
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 4:
                self.cost = 800
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            if self.atk == 5:
                self.cost = 2500
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"

        elif wepORshield == "shield":
            if self.shield == 1:
                self.cost = 50
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 1
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 2:
                self.cost = 75
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 2
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 3:
                self.cost = 300
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 4:
                self.cost = 800
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            if self.shield == 5:
                self.cost = 2500
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
                elif self.atk == "exit":
                    self.mode = "restart"


    def eAttack(self):
        self.attacke = random.randrange(12)+self.level*12
        return self.attacke

    def HP(self):
        self.e = self.eAttack()
        self.d = self.nDefense()
        self.health = self.health - (self.e - self.d)
        print "Enemy hits for",self.e
        print "You block for",self.d
        print "Your HP is",self.health

    def nAttack(self):
        self.attack = random.randrange(10)+self.level*10
        if self.weapon == 1:
            self.attack = random.randrange(10)+35+self.level*10
        elif self.weapon == 2:
            self.attack = random.randrange(10)+55+self.level*10
        elif self.weapon == 3:
            self.attack = random.randrange(10)+90+self.level*10
        elif self.weapon == 4:
            self.attack = random.randrange(10)+150+self.level*10
        elif self.weapon == 5:
            self.attack = random.randrange(10)+340+self.level*10
        return self.attack

    def nDefense(self):
        self.armor = random.randrange(5)+self.level*5
        if self.armor == 1:
            self.defense = random.randrange(5)+10+self.level*5
        if self.armor == 2:
            self.defense = random.randrange(5)+25+self.level*5
        if self.armor == 3:
            self.defense = random.randrange(5)+45+self.level*5
        if self.armor == 4:
            self.defense = random.randrange(5)+70+self.level*5
        if self.armor == 5:
            self.defense = random.randrange(5)+125+self.level*5
        return self.defense

    def LVL(self):
        if 1 <= self.level <= len(self.tnls):
            self.tnl = self.tnls[self.level-1]
            if self.tnl <= self.xp:
                self.level += 1
                if self.level > len(self.tnls):
                    self.level = 100
                self.xp = 0
                print("Your new level is %d! Congratulations!" % self.level)
        if self.level == 100:
            print("Congratulations, you beat the Demo!")
    
    def EnemyHP(self):
        self.n = self.nAttack()
        self.ehealth = self.ehealth - self.n
        print "You hit for",self.n
        print "Enemy's HP is",self.ehealth
        

    def Bank(self):
        print"Welcome to the National Bank of NorbertQuest! What will you like to do?"
        self.bankchoice = raw_input("Do you want to withdraw or deposit? ")
        if self.bankchoice == "withdraw":
            print"Your current balance is",self.bankbalance,"dollars."
            self.withdraw = input("How much would you like to withdraw? ")
            if self.withdraw > self.bankbalance:
                print"You don't have that much money in the bank!"
                self.mode = "restart"
            elif self.withdraw <= self.bankbalance:
                self.money = self.bankbalance - self.withdraw
                self.bankbalance = self.bankbalance - self.withdraw
                print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
                self.mode = "restart"
        elif self.bankchoice == "deposit":
            print"Your current balance is",self.bankbalance,"dollars."
            self.deposit = input("How much would you like to deposit? ")
            if self.deposit > self.money:
                print"You don't have that much money on you!"
                self.mode = "restart"
            elif self.deposit <= self.money:
                self.bankbalance = self.money - self.deposit
                self.money = self.money - self.deposit
                print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
                self.mode = "restart"
                    
    def Battle(self):
        self.fight = random.randrange(10)+1
        if self.fight == 1:
            self.monster = "Dragon!"
        elif self.fight == 2:
            self.monster = "Rogue Knight!"
        elif self.fight == 3:
            self.monster == "Jaguar!"
        elif self.fight == 4:
            self.monster = "Orc Lord!"
        elif self.fight == 5:
            self.monster = "Goblin!"
        elif self.fight == 6:
            self.monster = "Crazy Robot!"
        elif self.fight == 7:
            self.monster = "Werewolf!"
        elif self.fight == 8:
            self.monster = "Vampire!"
        elif self.fight == 9:
            self.monster = "Giant Spider!"
        elif self.fight == 10:
            self.monster = "Pirate King!"
        
        print "You have encountered a", self.monster, "What will you do?"
        self.health = 150 + self.level * 100
        self.ehealth = 100 + self.level * 125
        
        while self.health > 0 and self.ehealth > 0:
            self.turn = raw_input("Do you want to attack[1], defend[2] or cast a spell[coming soon]?")
        
            if self.turn == 1:
                print "You're attacking!"
                self.EnemyHP()
                self.HP()
            elif self.turn == 2:
                print "You're defending!"
                print "Monster's HP is",self.ehealth
                print "Your HP is",self.health
            else:
                print "Type attack or Defend!"

        if self.health <= 0:
            print "You are dead! You lose 50% of the money you have on you!"
            self.money = self.money/2
        elif self.ehealth <= 0:
            print "You win the battle! You earn",self.m,"$!"
            self.money = self.money + self.m
            self.m = random.randrange(50)+1+self.level*10
            self.xpGain = random.randrange(25)+1+self.level*25
            self.xp = self.xpGain + self.xp
            print"You gain",self.xpGain,"Experience Points!"
            self.LVL()
        
    def main(self):
        while True:
            print \
                """
                Welcome to NorbertQuest!
                Type:
                - [battle] to hunt monsters
                - [shop] to buy weapons
                - [bank] to visit the bank
                - [badge] to visit the Government Building
                - [exit] to quit the game
                
                """
            self.mode = raw_input("What do you want to do?: ")
            if self.mode == "shop":
                print"Your current weapon is",self.weapon[self.atk]
                print"Your current armor is",self.armor[self.shield]
                print"You have",money,"dollars on you."
                self.Shop()
        
            elif self.mode == "battle":
                self.Battle()

            elif self.mode == "badge":
                if self.level >= 10:
                    print"Your current Government Rank is",self.govrank
                    self.Badge()
                elif self.level < 10:
                    print"Come back when you're stronger!"
                    self.mode = "restart"

            elif self.mode == "bank":
                self.Bank()

            elif self.mode == "exit":
                print "If you exit now, all progress will be lost."
                self.exit = raw_input("Are you sure you want to quit? Yes or no: ")
                if "yes" in self.exit:
                    break
                if "no" in self.exit:
                    drlf.mode = "restart"


if __name__ == "__main__":
    n  = NorbertQuest()
    n.main()
    
    raw_input("Press [enter] to exit.")

And can someone help me with the Government Function (well Badge Function)? I don't know how to go at it. If you don't know what the government is, look the last thing I posted with a code in it, and if that doesn't explain it, ask me.

0

Line 242 (line 2 in the fragment):

elif self.deposit <= self.money:
    self.bankbalance = self.money - self.deposit
    self.money = self.money - self.deposit
    print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
    self.mode = "restart"

When depositing to the bank, we need to increase the bank balance and decrease the gold:

self.bankbalance = self.bankbalance + self.deposit
    self.money = self.money - self.deposit

You have a similar problem in withdraw:

elif self.withdraw <= self.bankbalance:
    self.money = self.bankbalance - self.withdraw
    self.bankbalance = self.bankbalance - self.withdraw
    print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
    self.mode = "restart"

When withdrawing, we need to increase our money and decrease the bank balance:

self.money = self.money + self.withdraw
    self.bankbalance = self.bankbalance - self.withdraw
0

Thanks, and for the ATK variable, did I just need to include it in the beginning with the self.variable?

0

It's not working (the thing that shows your weapons and armor when you enter the shop). I need some help because I don't know how to correctly select the right weapon you have out of the string of weapons / armors. Here it is so far:

import random
class NorbertQuest(object):

    def __init__(self):
        self.weapon = 0
        self.armor = 0
        self.level = 1
        self.m = random.randrange(50)+1+self.level*5
        self.cost = 0
        self.xp = 0
        self.health = 150
        self.ehealth = 100
        self.money = 100
        self.tnls = [100+self.level*50]
        self.wepORshield = 0
        self.bankbalance = 0
        self.withdraw = 0
        self.deposit = 0
        self.atk = 0
        self.shield = 0
        self.monster = 0
        self.fight = 0
        

    def Shop(self):
        self.weapons[1:"Steel Knuckles",2:"Knife",3:"Sword",4:"Gun",5:"Rocket Launcher"]
        self.armors[1:"Leather Jacket",2:"Padded Sweater",3:"Iron Arm-shield",4:"Bullet-Proof Jacket",5:"Bomber Squad Armor Plated Suit"]
        print \
        """
        What'll it be?
        Weapons:
        1 - Steel Knuckles 50$
        2 - Knife 75$
        3 - Sword 300$
        4 - Gun 800$
        5 - Rocket Launcher 2500$

        Armor:
        1 - Leather Jacket 50$
        2 - Padded Sweater 75$
        3 - Iron Arm-shield 300$
        4 - Bullet-Proof Jacket 800$
        5 - Bomber Squad Armor Plated Suit
         
        Type exit to quit.
        """
        self.wepORshield = raw_input("Do you want weapons or armor?")
        if self.wepORshield == "weapons":
            self.atk = input("Which weapon do you want?")
            if self.atk == 1:
                self.cost = 50
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 1
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 2:
                self.cost = 75
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 2
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 3:
                self.cost = 300
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.atk == 4:
                self.cost = 800
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            if self.atk == 5:
                self.cost = 2500
                if self.money >= self.cost:
                    print"You have bought",self.weapons[self.atk]
                    self.money = self.money - self.cost
                    self.weapon = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"

        elif wepORshield == "shield":
            if self.shield == 1:
                self.cost = 50
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 1
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 2:
                self.cost = 75
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 2
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 3:
                self.cost = 300
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 3
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            elif self.shield == 4:
                self.cost = 800
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 4
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
            if self.shield == 5:
                self.cost = 2500
                if self.money >= self.cost:
                    print"You have bought",self.armors[self.shield]
                    self.money = self.money - self.cost
                    self.armor = 5
                    self.mode = "restart"
                elif self.money < self.cost:
                    print"You don't have enough gold to buy this."
                    raw_input("Press [enter] to exit.")
                    self.mode = "restart"
                elif self.atk == "exit":
                    self.mode = "restart"


    def eAttack(self):
        self.attacke = random.randrange(12)+self.level*12
        return self.attacke

    def HP(self):
        self.e = self.eAttack()
        self.d = self.nDefense()
        self.health = self.health - (self.e - self.d)
        print "Enemy hits for",self.e
        print "You block for",self.d
        print "Your HP is",self.health

    def nAttack(self):
        self.attack = random.randrange(10)+self.level*10
        if self.weapon == 1:
            self.attack = random.randrange(10)+35+self.level*10
        elif self.weapon == 2:
            self.attack = random.randrange(10)+55+self.level*10
        elif self.weapon == 3:
            self.attack = random.randrange(10)+90+self.level*10
        elif self.weapon == 4:
            self.attack = random.randrange(10)+150+self.level*10
        elif self.weapon == 5:
            self.attack = random.randrange(10)+340+self.level*10
        return self.attack

    def nDefense(self):
        self.armor = random.randrange(5)+self.level*5
        if self.armor == 1:
            self.defense = random.randrange(5)+10+self.level*5
        if self.armor == 2:
            self.defense = random.randrange(5)+25+self.level*5
        if self.armor == 3:
            self.defense = random.randrange(5)+45+self.level*5
        if self.armor == 4:
            self.defense = random.randrange(5)+70+self.level*5
        if self.armor == 5:
            self.defense = random.randrange(5)+125+self.level*5
        return self.defense

    def LVL(self):
        if 1 <= self.level <= len(self.tnls):
            self.tnl = self.tnls[self.level-1]
            if self.tnl <= self.xp:
                self.level += 1
                if self.level > len(self.tnls):
                    self.level = 100
                self.xp = 0
                print("Your new level is %d! Congratulations!" % self.level)
        if self.level == 100:
            print("Congratulations, you beat the Demo!")
    
    def EnemyHP(self):
        self.n = self.nAttack()
        self.ehealth = self.ehealth - self.n
        print "You hit for",self.n
        print "Enemy's HP is",self.ehealth
        

    def Bank(self):
        print"Welcome to the National Bank of NorbertQuest! What will you like to do?"
        self.bankchoice = raw_input("Do you want to withdraw or deposit? ")
        if self.bankchoice == "withdraw":
            print"Your current balance is",self.bankbalance,"dollars."
            self.withdraw = input("How much would you like to withdraw? ")
            if self.withdraw > self.bankbalance:
                print"You don't have that much money in the bank!"
                self.mode = "restart"
            elif self.withdraw <= self.bankbalance:
                self.money = self.money + self.withdraw
                self.bankbalance = self.bankbalance - self.withdraw
                print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
                self.mode = "restart"
        elif self.bankchoice == "deposit":
            print"Your current balance is",self.bankbalance,"dollars."
            self.deposit = input("How much would you like to deposit? ")
            if self.deposit > self.money:
                print"You don't have that much money on you!"
                self.mode = "restart"
            elif self.deposit <= self.money:
                self.bankbalance = self.money + self.deposit
                self.money = self.money - self.deposit
                print"Your new bank Balance is",self.bankbalance,"dollars. Thank you."
                self.mode = "restart"
                    
    def Battle(self):
        self.fight = random.randrange(10)+1
        if self.fight == 1:
            self.monster = "Dragon!"
        elif self.fight == 2:
            self.monster = "Rogue Knight!"
        elif self.fight == 3:
            self.monster == "Jaguar!"
        elif self.fight == 4:
            self.monster = "Orc Lord!"
        elif self.fight == 5:
            self.monster = "Goblin!"
        elif self.fight == 6:
            self.monster = "Crazy Robot!"
        elif self.fight == 7:
            self.monster = "Werewolf!"
        elif self.fight == 8:
            self.monster = "Vampire!"
        elif self.fight == 9:
            self.monster = "Giant Spider!"
        elif self.fight == 10:
            self.monster = "Pirate King!"
        
        print "You have encountered a", self.monster, "What will you do?"
        self.health = 150 + self.level * 100
        self.ehealth = 100 + self.level * 125
        
        while self.health > 0 and self.ehealth > 0:
            self.turn = input("Do you want to attack[1], defend[2] or cast a spell[coming soon]?")
        
            if self.turn == 1:
                print "You're attacking!"
                self.EnemyHP()
                self.HP()
            elif self.turn == 2:
                print "You're defending!"
                print "Monster's HP is",self.ehealth
                print "Your HP is",self.health

            else:
                print"The thing you typed in is either a feature that's coming soon, or is not a valid choice."

        if self.health <= 0:
            print "You are dead! You lose 50% of the money you have on you!"
            self.money = self.money/2
        elif self.ehealth <= 0:
            print "You win the battle! You earn",self.m,"$!"
            self.money = self.money + self.m
            self.m = random.randrange(50)+1+self.level*10
            self.xpGain = random.randrange(25)+1+self.level*25
            self.xp = self.xpGain + self.xp
            print"You gain",self.xpGain,"Experience Points!"
            self.LVL()
        
    def main(self):
        while True:
            print \
                """
                Welcome to NorbertQuest!
                Type:
                - [battle] to hunt monsters
                - [shop] to buy weapons
                - [bank] to visit the bank
                - [badge] to visit the Government Building
                - [exit] to quit the game
                
                """
            self.mode = raw_input("What do you want to do?: ")
            if self.mode == "shop":
                print"Your current weapon is",self.weapon
                print"Your current armor is",self.armor
                print"You have",money,"dollars on you."
                self.Shop()
        
            elif self.mode == "battle":
                self.Battle()

            elif self.mode == "badge":
                if self.level >= 10:
                    print"Your current Government Rank is",self.govrank
                    self.Badge()
                elif self.level < 10:
                    print"Come back when you're stronger!"
                    self.mode = "restart"

            elif self.mode == "bank":
                self.Bank()

            elif self.mode == "exit":
                print "If you exit now, all progress will be lost."
                self.exit = raw_input("Are you sure you want to quit? Yes or no: ")
                if "yes" in self.exit:
                    break
                if "no" in self.exit:
                    drlf.mode = "restart"


if __name__ == "__main__":
    n  = NorbertQuest()
    n.main()
    
    raw_input("Press [enter] to exit.")

Also the Government Ranking thing is gonna have it's own shop (I forgot whether I said this in my previous Government related post). I need some [not code involved] help coming up with the amount of percentages of xp / money increase you'll get with each of the (I forgot exactly how many) ranks in the Government (and actually it should be Millitary but Government sounds better.)

0

Hmmm... 5 am already? I guess I'd better get to bed a while. I'll be back in a couple hours.

0

The lines:

self.weapons[1:"Steel Knuckles",2:"Knife",3:"Sword",4:"Gun",5:"Rocket Launcher"]
self.armors[1:"Leather Jacket",2:"Padded Sweater",3:"Iron Arm-shield",4:"Bullet-Proof Jacket",5:"Bomber Squad Armor Plated Suit"]

don't work for me. It looks like you intended to create a list, but instead you're trying to use a really strange index.

I think you intended one of the following:

# dictionary implementation
# best matches the data as you provide it
self.weapons = {1:"Steel Knuckles",2:"Knife",3:"Sword",4:"Gun",5:"Rocket Launcher"}
self.armors = {1:"Leather Jacket",2:"Padded Sweater",3:"Iron Arm-shield",4:"Bullet-Proof Jacket",5:"Bomber Squad Armor Plated Suit"}

# list implementation
# is this more what you really want?
self.weapons = ["Hands", "Steel Knuckles", "Knife", "Sword", "Gun", "Rocket Launcher"]
self.armors = ["Skin", "Leather Jacket", "Padded Sweater", "Iron Arm-shield", "Bullet-Proof Jacket", "Bomber Squad Armor Plated Suit"]

# in either case, I would tend to format the code like this:
# because I think it is more readable
self.weapons = [
    "Hands",
    "Steel Knuckles",
    "Knife",
    "Sword",
    "Gun",
    "Rocket Launcher",
    ]
2

Ok, I'm going to post this...I've started it several times and then you post a significant rewrite of your code and to help you I have to toss this stuff out.

You can use the idea and expand on it, or ignore it, it's up to you, but I think that this would make your code easier to work on and more maintainable.

I think you should be doing more with classes, but I surely did not mean for you to turn your whole game into one large class. You are also using class variables in many instances where they are not needed. If you only use a variable within a single function, it does not need to be a member of a class.

Here's a start at classes to support stores and items:

class NQShopItem(object):
    """
    This class holds the information common to all shop items
    """
    def __init__(self, name, price, reqLevel, reqRank):
        self.name = name
        self.price = price
        self.reqLevel = reqLevel
        self.reqRank = reqRank
    
    def shopline(self, idx):
        return "   %2d - %-32s $%5d" % (idx, self.name, self.price)
    
class NQWeapon(NQShopItem):
    """ 
    This is a class that represents weapons in NorbertQuest
    """
    def __init__(self, name, price, reqLevel, reqRank, damage):
        #NQShopItem.__init__(self, name, price, reqLevel, reqRank)
        super(NQWeapon, self).__init__(name, price, reqLevel, reqRank)
        self.damage = damage

NQWeaponList = [
    #         Name              Cost Lvl rank  Dam
    NQWeapon("Hands",              0,  1,   0,   0),
    NQWeapon("Steel Knuckles",    50,  1,   0,  35),
    NQWeapon("Knife",             75,  2,   0,  55),
    NQWeapon("Sword",            300,  3,   0,  90),
    NQWeapon("Gun",              800,  4,   0, 150),
    NQWeapon("Rocket Launcher", 2500,  5,   0, 340),
    ]

class NQArmor(NQShopItem):
    """ 
    This class represents armors in NorbertQuest 
    """
    def __init__(self, name, price, reqLevel, reqRank, defense):
        #NQShopItem.__init__(self, name, price, reqLevel, reqRank)
        super(NQArmor, self).__init__(name, price, reqLevel, reqRank)
        self.defense = defense

NQArmorList = [
    #        Name                             Cost Lvl Rank  def
    NQArmor("Skin",                              0,  1,   0,   0),
    NQArmor("Leather Jacket",                   50,  1,   0,  10),
    NQArmor("Padded Sweater",                   75,  2,   0,  25),
    NQArmor("Iron Arm-shield",                 300,  3,   0,  45),
    NQArmor("Bullet-Proof Jacket",             800,  4,   0,  70),
    NQArmor("Bomber Squad Armor Plated Suit", 2500,  5,   0, 125),
    ]

And I think it makes sense to gather all of the player specific information together so I started a class for this too. (this is also a start of defining what needs to be saved / restored to save game progress).

class NQPlayer(object):
    """ 
    This class holds the player specific data in NorbertQuest 
    """
    def __init__(self):
        self.name = "Player"
        self.weapon = 0
        self.armor = 0
        self.level = 1
        self.xp = 0
        self.rank = 0
        self.money = 100
        self.bankBalance = 0

    def tnl(self):
        return 100 + self.level * 50
    
    def setName(self, name):
        # todo file management related to name change (if any)
        self.name = name
    
    def deposit(self, amount):
        if amount < 0:
            return "Invalid deposit: amount was negative"
        if amount > self.money:
            return "Invalid deposit: amount exceeded money available"
        self.money -= amount
        self.bankBalance += amount
        return ""
    
    def withdraw(self, amount):
        if amount < 0:
            return "Invalid withdraw: amount was negative"
        if amount > self.bankBalance:
            return "Invalid withdraw: amount exceeded bank balance"
        self.money += amount
        self.bankBalance -= amount
        return ""

    def calcAttack(self):
        weapon_mod = NQWeaponList[self.weapon].damage
        return random.randrange(10) + self.level * 10 + weapon_mod

    def calcDefend(self):
        armor_mod = NQArmorList[self.armor].defense
        return random.randrange(5) + self.level * 5 + armor_mod

So if we implement the above, the game class changes and shopping implementation is a lot smaller:

class NorbertQuest(object):

    def __init__(self):
        self.player = NQPlayer()

    def ShopWeapons(self):
        while True:
            print
            print "Current Weapon:", NQWeaponList[self.player.weapon].name
            print "You have $", self.player.money, "to spend"
            print
            print "Available Weapons:"
            for si in range(1, len(NQWeaponList)):
                print NQWeaponList[si].shopline(si)
            print
            item = raw_input("Select Weapon to buy: (Press enter to exit): ")
            if item == "":
                return
            if not item.isdigit:
                print "Enter the number of the weapon you wish to purchase"
            else:
                ii = int(item)
                if not ii in range(1,len(NQWeaponList)):
                    print "Please select an item from the list"
                else:
                    tweap = NQWeaponList[ii]
                    if self.player.level < tweap.reqLevel:
                        print "You're not a high enough level to purchase a", tweap.name
                    elif self.player.rank < tweap.reqRank:
                        print "You don't have a high enough rank to purchase a", tweap.name
                    elif self.player.money < tweap.price:
                        print "You don't have enough money to purchase a", tweap.name
                    else:
                        print "You bought a", tweap.name
                        self.player.weapon = ii
                        break
                    
            
    def ShopArmors(self):
        while True:
            print
            print "Current Armor:", NQArmorList[self.player.armor].name
            print "You have $", self.player.money, "to spend"
            print
            print "Available Armors:"
            for si in range(1, len(NQArmorList)):
                print NQArmorList[si].shopline(si)
            # TODO: finish this function
            break
        
    def Shop(self):
        while True:
            print
            print "Available Stores:"
            print "   Weapons"
            print "   Armors"
            print
            store = raw_input("Select store: (Press enter to exit): ").upper()
            if store == "":
                break
            if store.startswith("W"):
                self.ShopWeapons()
            if store.startswith("A"):
                self.ShopArmors()

# the game class continues, but I haven't finished converting the style yet

In fact the actual shopping is almost generic enough to have a single function support any store, given the correct parameters.

(The referencing of the current item and setting the purchased item being the parts that might be complex in a generic shop. Maybe those parts could stay in the specific shop and the generic shop would just display the list and do validation of the user's selection.)

0

Thanks, I'll try it now (but I have homework so I probably won't finish today).

0

So I can add this to the other one, and it'll work properly? Or will it all need to be in the same style as the one you made the shop in?

1

I was working on revamping the code...most of it would need changes to work with the classes.

0

Ugh I have a science fair project to do, so I'll be working on it for the next couple of days. Cya folks later.

0

Bump. Science Fair went horribly as expected. Working on code. Maybe I'll post it later tonight.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.