Вы можете добавить change_mood
метод к вашему guest
классу.Это означает, что вы можете изменить настроение в любое время.
class guest:
def __init__(self,race,name,mood):
self.race = race
self.name = name
self.mood = mood
def change_mood(self):
self.mood = random.choice(('entertained','disgusted','pleased'))
Затем вы можете изменить настроение следующим образом.
print('You meet a ' + guest1.race + ' named ' + guest1.name + '. He seems ' + guest1.mood)
guest1.change_mood()
print('You meet a ' + guest1.race + ' named ' + guest1.name + '. He seems ' + guest1.mood)
Это всегда изменит настроение на человеческое настроение,что не идеально для орков.Чтобы сделать это проще для разных рас, вы можете сделать два подкласса гостя: один для людей и один для орков.Я бы организовал это так:
class Guest:
def __init__(self):
self.name = random.choice(self.names)
self.mood = random.choice(self.moods)
def change_mood(self):
self.mood = random.choice(self.moods)
class Human(Guest):
race = 'human'
names = ('Mark', 'Joe', 'Bill')
moods = ('entertained', 'disgusted', 'pleased')
class Orc(Guest):
race = 'orc'
names = ('Ug', 'Orok', 'Ushnar')
moods = ('drunk',' pissed off', 'angry')
Затем вы можете использовать классы следующим образом:
guest1 = Orc()
print('You meet a ' + guest1.race + ' named ' + guest1.name + '. He seems ' + guest1.mood)
Редактировать: другим способом было бы хранить все данные вашей расы в одном большомструктуру данных, а затем укажите гонку в качестве аргумента для класса Guest.
class Guest:
races = {
'human': {
'names': ('Mark', 'Joe', 'Bill'),
'moods': ('entertained', 'disgusted', 'pleased'),
},
'orc': {
'names': ('Ug', 'Orok', 'Ushnar'),
'moods': ('drunk',' pissed off', 'angry'),
},
}
def __init__(self, race):
self.race = race
self.name = random.choice(self.races[race]['names'])
self.mood = random.choice(self.races[race]['moods'])
def change_mood(self):
self.mood = random.choice(self.races[self.race]['moods'])
Кроме того, вместо того, чтобы хранить данные гонки в классе, вы можете сохранить их в отдельном файле JSON или в другом месте, изатем загрузите данные из файла методом __init__
.