// 2025-2026 Богданович Давид Когут Прихожденко (кдб.дійсність.укр)
взяти означення мавка/машина;
простір мавка {
дія створити_складений_предмет(
М: адреса<Машина>,
значення_структури: адреса<ПредметСтруктури>
) -> адреса<СкладенийПредмет> {
змінна предмет = виділити_предмет<СкладенийПредмет>(М, значення_структури);
предмет.властивості = Призначення { 0, пусто, 0 };
вернути предмет;
}
дія складений_предмет_отримати_властивість(
М: адреса<Машина>,
складений_предмет: адреса<СкладенийПредмет>,
назва: адреса<ПредметТексту>,
місцезнаходження: Місцезнаходження
) -> ЗначенняАбоСтанПадіння {
змінна результат = НЕДІЙСНЕ;
якщо знайти_призначене(
М,
складений_предмет.властивості,
назва,
результат::адреса
) {
вернути результат;
}
змінна предмет_методу = знайти_метод_в_структурі(
М,
складений_предмет.с,
назва
);
якщо предмет_методу == пусто {
вернути НЕДІЙСНЕ;
}
вернути ПРЕДМЕТ(предмет_методу);
}
дія складений_предмет_змінити_властивість(
М: адреса<Машина>,
складений_предмет: адреса<СкладенийПредмет>,
назва: адреса<ПредметТексту>,
значення: Значення,
місцезнаходження: Місцезнаходження
) {
призначити(
М,
складений_предмет.властивості::адреса,
назва,
значення
);
}
}