Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Beginners question
#4
example . Could also do something like this.
import random

class Character:
    @classmethod
    def create(cls):
        character = cls()

        while len(character.name) < 3:
            character.name = input('What is your name? >> ')

        while character.klass not in ['warrior', 'priest', 'thief', 'mage']:
            character.klass = input('What class are you? You can choose warrior, priest, mage or thief! >> ')
            sure = input('Are you sure? Yes or No? >> ')
            if sure.lower() in ['no', 'n']:
                character.klass = ''

        if character.klass == 'warrior':
            character.power = random.randint(10, 18)
            character.health = random.randint(8, 12)
        elif character.klass == 'priest':
            character.power = random.randint(8, 16)
            character.health = random.randint(6, 10)
        elif character.klass == 'thief':
            character.power = random.randint(6, 14)
            character.health = random.randint(5, 8)
        elif character.klass == 'mage':
            character.power = random.randint(4, 12)
            character.health = random.randint(4, 6)

        return character

    def __init__(self):
        self.name = ''
        self.klass = ''
        self.power = 0
        self.health = 0

    def __repr__(self):
        return 'Character({name}, {klass}, {power}, {health})'.format(**vars(self))

def main():
    myCharacter = Character.create()
    print(myCharacter)

if __name__ == '__main__':
    main()
99 percent of computer problems exists between chair and keyboard.
Reply


Messages In This Thread
Beginners question - by Youmanity - Mar-21-2018, 11:40 AM
RE: Beginners question - by Windspar - Mar-21-2018, 12:49 PM
RE: Beginners question - by Youmanity - Mar-21-2018, 01:10 PM
RE: Beginners question - by Windspar - Mar-21-2018, 01:37 PM
RE: Beginners question - by Youmanity - Apr-08-2018, 07:02 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020