Monst * tratata = new Monst("Тут его зовут", "Тут его прозвищу","Тут кол-во патронов"," тут кол-во ячеек инвенторя")tratata->setРуки(4);tratata->setЛицо("Жопа");tratata->setЧеловечность("Не человек");
C++ (Qt)struct CInventory { virtual int Type( void ) const = 0; virtual QString Name( void ) const = 0; virtual CBaseClass * Create( void ) = 0; }; // для каждого из 15 создаете свой инвентарь и сохраняете в мапеRegisterInventory( new CMyClass1_Inventory );RegisterInventory( new CMyClass2_Inventory );... // ну и крутите с мапой
Product *Creator::Create(QString name, QString text){ if(name== "name1") return new name1(text); if(name== "name2") return new name2(text); if(name== "name3") return new name3(text); //... if(name== "nameN") return new nameN(text); return new Unknown(text);}