/
Lekuz
/
FinalQualifyingWork
Обзор
Документация
Войти
/
Lekuz
/
FinalQualifyingWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Inventory.py
174 строки
7 KB
Lekuz
Загрузил файлы с исходными кодами
12 июн 2025, 16:08
12 июн 2025, 16:08
d82ac7c
Код
Авторство
О чём код?
from random import randint class Sword: Name = 'Меч одноручный' MaterialSet1 = [["дерево", 2, 8, 5], ["железо", 3, 6, 4], ["сталь", 4, 6, 4]] MaterialSet2 = [["каленая сталь", 5, 7, 4], ["магическая сталь", 10, 5, 4], ["мифрил", 7, 5, 3]] MaterialSet3 = [["торий", 12, 10, 5], ["эфирий", 10, 4, 3], ["небесная сталь", 15, 8, 5]] MagicSet = ["-", "вечная заточка", "повышенный урон", "снижение веса", "урон магией", "прочность", "дух", "похищение жизни", "заточение душ"] def __init__(self): self.Name = 'Меч одноручный' self.Lvl = 1 self.Material = self.MaterialSet1[0][0] self.Magic = "-" self.Damage = self.MaterialSet1[0][1] self.MagicDamage = 0 self.Speed = self.MaterialSet1[0][3] self.Mass = self.MaterialSet1[0][2] def RollLvl(self): """Определяет уровень предмета случайным образом""" roll = randint(0, 100) if roll >= 30: self.Lvl = 1 elif roll >= 10: self.Lvl = 2 else: self.Lvl = 3 def RollMaterial(self): """Выбирает материал и устанавливает соответствующие характеристики""" if self.Lvl == 1: roll = randint(0, len(self.MaterialSet1) - 1) self.Material = self.MaterialSet1[roll][0] self.Damage = self.MaterialSet1[roll][1] self.Mass = self.MaterialSet1[roll][2] self.Speed = self.MaterialSet1[roll][3] elif self.Lvl == 2: roll = randint(0, len(self.MaterialSet2) - 1) self.Material = self.MaterialSet2[roll][0] self.Damage = self.MaterialSet2[roll][1] self.Mass = self.MaterialSet2[roll][2] self.Speed = self.MaterialSet2[roll][3] else: roll = randint(0, len(self.MaterialSet3) - 1) self.Material = self.MaterialSet3[roll][0] self.Damage = self.MaterialSet3[roll][1] self.Mass = self.MaterialSet3[roll][2] self.Speed = self.MaterialSet3[roll][3] def RollMagic(self): """Добавляет зачарование к предмету и модифицирует его характеристики""" roll = randint(0, len(self.MagicSet) - 1) self.Magic = self.MagicSet[roll] if self.Magic == "вечная заточка": self.Damage = self.Damage + randint(1, self.Lvl) if self.Magic == "повышенный урон": self.Damage = self.Damage + randint(3, 3 + randint(0, self.Lvl + 2)) if self.Magic == "урон магией": self.MagicDamage = randint(1, 1 + randint(0, self.Lvl + 2)) if self.Magic == "похищение жизни": self.MagicDamage = randint(1, 2 + randint(0, self.Lvl + 2)) if self.Magic == "снижение веса": self.Mass = self.Mass - randint(1, randint(1, self.Lvl)) self.Speed = self.Speed - randint(1, self.Lvl) def Roll(self): """Выполняет полную генерацию предмета""" self.RollLvl() self.RollMaterial() self.RollMagic() class Wallet: Name = 'Кошель' def __init__(self): self.Name = 'Кошель' self.Gold = 0 def Roll(self): """Задает случайное количество золота""" self.Gold = randint(1, 100) class Staff: Name = 'Магический жезл' MaterialSet1 = [["дерево", 2, 8, 5], ["железо", 3, 6, 4], ["сталь", 4, 6, 4]] MaterialSet2 = [["каленая сталь", 5, 7, 4], ["магическая сталь", 10, 5, 4], ["мифрил", 7, 5, 3]] MaterialSet3 = [["торий", 12, 10, 5], ["эфирий", 10, 4, 3], ["небесная сталь", 15, 8, 5]] MagicSet = ["-", "вечная заточка", "повышенный урон", "снижение веса", "урон магией", "прочность", "дух", "похищение жизни", "заточение душ"] def __init__(self): self.Name = 'Магический жезл' self.Lvl = 1 self.Material = self.MaterialSet1[0][0] self.Magic = "-" self.Damage = self.MaterialSet1[0][1] self.MagicDamage = 0 self.Speed = self.MaterialSet1[0][3] self.Mass = self.MaterialSet1[0][2] def RollLvl(self): """Определяет уровень предмета случайным образом""" roll = randint(0, 100) if roll >= 30: self.Lvl = 1 elif roll >= 10: self.Lvl = 2 else: self.Lvl = 3 def RollMaterial(self): """Выбирает материал и устанавливает соответствующие характеристики""" if self.Lvl == 1: roll = randint(0, len(self.MaterialSet1) - 1) self.Material = self.MaterialSet1[roll][0] self.Damage = self.MaterialSet1[roll][1] self.Mass = self.MaterialSet1[roll][2] self.Speed = self.MaterialSet1[roll][3] elif self.Lvl == 2: roll = randint(0, len(self.MaterialSet2) - 1) self.Material = self.MaterialSet2[roll][0] self.Damage = self.MaterialSet2[roll][1] self.Mass = self.MaterialSet2[roll][2] self.Speed = self.MaterialSet2[roll][3] else: roll = randint(0, len(self.MaterialSet3) - 1) self.Material = self.MaterialSet3[roll][0] self.Damage = self.MaterialSet3[roll][1] self.Mass = self.MaterialSet3[roll][2] self.Speed = self.MaterialSet3[roll][3] def RollMagic(self): """Добавляет зачарование к предмету и модифицирует его характеристики""" roll = randint(0, len(self.MagicSet) - 1) self.Magic = self.MagicSet[roll] if self.Magic == "вечная заточка": self.Damage = self.Damage + randint(1, self.Lvl) if self.Magic == "повышенный урон": self.Damage = self.Damage + randint(3, 3 + randint(0, self.Lvl + 2)) if self.Magic == "урон магией": self.MagicDamage = randint(1, 1 + randint(0, self.Lvl + 2)) if self.Magic == "похищение жизни": self.MagicDamage = randint(1, 2 + randint(0, self.Lvl + 2)) if self.Magic == "снижение веса": self.Mass = self.Mass - randint(1, randint(1, self.Lvl)) self.Speed = self.Speed - randint(1, self.Lvl) def Roll(self): """Выполняет полную генерацию предмета""" self.RollLvl() self.RollMaterial() self.RollMagic()