Я пишу текстовую игру, где хочу, чтобы пользователи могли манипулировать любым элементом.java скрипт текстовые игры и объекты
Я хочу, чтобы пользователь мог сказать, например: «Я бросаю бутылку масла в монстра». Теперь, когда это произойдет, [бросок] будет действием, [бутылка масла] - это предмет инвентаря с имуществом [содержит масло], а монстр будет ближайшим монстром в комнате, если не указано иное.
Код должен анализировать различные свойства всех этих вещей, а затем выбирать действия, которые заставляют эти вещи взаимодействовать.
Когда я пишу История игры код будет как следует
* room.darkroom.1 «проснуться» [...] все размыто, голос звучит странно, как будто вторя вниз длинный туннель. Из того, что вы можете видеть, вы можете сказать [вы находитесь в темной комнате], ваше зрение размывается от белого до темного. [ПК находится в очень темной комнате. Внутри этой комнаты все скрыто в темноте. У северной стены есть запертая толстая деревянная дверь. южная стена имеет бочку, наполненную маслом, содержащим бутылку с маслом. В восточной части комнаты расположены 2 ящика среднего размера, в одном ящике - кремневый и ржавый кинжал. В западной части комнаты [маленькое окно] */room.darkroom.1
Сценарий принимает все эти слова и применяет к ним свойства, которые рандомизируют определенные элементы, которые остаются неустановленными. Поэтому, если вы скажете «стул», он перейдет к свойствам стула и произвольно назначит неустановленные свойства. Одно свойство стула будет существенным. Если его не указано, что его стул из дуба, то сценарий должен выбрать из любого свойства материала и назначить его. Этот новый стул получит несколько свойств и будет сохранен для дальнейшего использования в базе данных со всеми свойствами.
Еще одно свойство - действие. Стул не обязательно должен был действовать ... но он может сломаться. Сценарий должен знать, является ли стул разбитым. Но я думаю, что можно вложить в другое свойство, подобное [жесткости].
Многие вещи будут обладать многими из тех же свойств: стул, ночной столик, стол будут похожими по-разному. Но они также будут иметь разные результаты в зависимости от действий, применяемых к ним.
Как указать, например, когда «сломан» содержит стулья и ломовые материалы? Ножки стула и ломовой материал должны были наследовать свойства разрушенного стула, например, дуб/легковоспламеняющийся/разрушаемый. Очевидно, что, как указывалось ранее, ему не обязательно наследовать легковоспламеняющиеся или разрушаемые, если дуб - это часть, которая удерживает это значение.
Я хочу, чтобы было легко получить доступ к массиву, который хранит свойства и может включать скрипт, который влияет на поведение и описания вещей.
Я начал создавать массивы с ключами, которые будут зацикливаться ... Но теперь я думаю, что я должен использовать элемент JavaScript на основе объектов.
Вот что я начал делать, но я остановился сразу:
var language = {
// key currentmodifyers possible modifyers action/condition description of item
item: ";medium,material;;its a thing thats not a person",
chair: "item,chair_Legs;;[email protected]/broken,@[chair ]scraps/destroyed; and someone could sit on it. ",
chair_leg:"item,blunt,light,"
}
У меня есть так много определений, чтобы писать так было бы стыдно, чтобы начать писать все это, и тогда придется делать это снова когда я обнаруживаю лучший способ.
Я рассматриваю различные способы создания объектов в JavaScript, но хотел бы, чтобы лучший способ был у кого-то испытанного.
Понимание сложности моей проблемы, что является лучшим способом хранения и применения свойств?
Пожалуйста, перефразируйте свой вопрос в более сжатом виде. Как и сейчас, у вас есть пять абзацев, которые, похоже, не связаны с вашим вопросом, и я предполагаю, что это «Лучший способ хранения и применения свойств». Кроме того, нет никакого «лучшего» способа создания/использования объектов javascript. – jperezov
Слишком много, чтобы читать здесь. Пожалуйста, скорректируйте немедленную проблему до какого-то быстрого обзора. Удалите всю бессмысленную преамбулу. – charlietfl
Если бы я знал ответ, я бы не стал спрашивать об этом. Вам нужно понять сложность того, что я пытаюсь сделать, чтобы предложить лучший способ хранения переменных. Если у вас нет времени, чтобы прочитать несколько абзацев, вы не поймете, в чем моя проблема.Я ценю полезные комментарии, но я не ищу муху, комментируя правильный синтаксис, но вдумчивое и опытное утверждение относительно лучшего метода структуры, основанного на моих потребностях. , –