Показать сообщение отдельно
Старый 08.06.2018, 10:19
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 41  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
Цитата:
Сообщение от Tails Посмотреть сообщение
Вопрос с избыточностью решается очень просто. Если, например, для описания атаки требуется больше 1 свойства и это создаёт проблемы, то атака как таковая, выносится как отдельная сущность, а предмет просто ссылается на неё: Item.attackID = 5, где Attack id=5 - Могучий удар гнома с типом хаос - 74ед. (Атака: id,title,type,damage) Когда у огурца attackID = 0 - огурцом нельзя ударить, но если мы поставим ему attackID = 5, то, о чудо, огурцом можно нанести могучий удар гнома!

При этом, сам код игры никаких данных не содержит. Всю информацию о том, кто сколько и чего наносит, кто к какому типу/категории относится и т.п. он берёт из соответствующих таблиц.
Tails, я что ещё подумал. Если у нас база данных состоит из реляционных таблиц, то они на то и "реляционные", что между ними выстроены связи, причём строго определённым образом (что кстати поднимает отдельный вопрос трудозатрат на перенос схемы под новые проекты, но сейчас не об этом). Значит, в рамках программы должна быть какая-то СУБД, которая "знает", что и откуда тягать. Если не секрет и не в ломак, расскажи, как ты это реализуешь, плиз. Хотя бы на примере тех же предметов и эффектов. Каким образом ты "говоришь", что эффект - это не просто запись, а именно ссылка на другую таблицу данных?
__________________
Не сломано - не чини!