2016-07-12 6 views
0
branches = 
branch0: 
    name: "Start" 
    text: "This is a wall of text. #1 {Terra: Hello there! My name is Terra! What's yours?} You find your desperation outweighing Cora’s vague warning. You feel miserable, paranoid, and your skin grows more raw and drenched by the minute. This is the fourth wall of text. This is the fifth wall of text. {Terra: My you're cute!} This is the sixth wall of text." 
    options: 
    branch1: "Bad" 
    branch2: "Good" 
branch1: 
    name: "Bad Intro" 
    text: "You're a bad person!" 
    options: 
    branch3: "To Gate" 
branch2: 
    name: "Good Intro" 
    text: "You've done good things!" 
    options: 
    branch3: "To Gate" 

У меня есть текстовая игра, над которой я работаю. Основные пути ветвления разделены на объекты, а текст сюжета - это свойство, называемое «текст»; основная логика игры включает в себя чтение гигантской строки внутри свойства «text:» и запись ее в HTML-документ.Coffeescript загружает содержимое текстового файла в переменную строки

Для удобства чтения, есть ли вообще способ читать мой текст из отдельных файлов, и каким-то образом содержимое отображается в виде строки моего свойства «text:»? Это становится беспорядочным и трудным для работы над этим проектом с 7000+ словесным словом, загромождающим мой основной код, как это.

ответ

1

Вы должны извлечь данные игры в файл или набор файлов. Это может быть либо JSON (полное дерево беседы/файл для каждой ветки), либо только тексты (например, загружать текст для ветки branch1 от text/branch1.txt).

В общем, это хорошая идея, чтобы сделать ваши игровые данные выразительными, чтобы вы могли разделить данные и код и определить большую часть поведения игры из набора файлов данных (то есть файлов JSON). Помимо того, что ваша игра будет более надежной, она позволит не-программистам создавать контент и проверять его без изменения исходного кода.

+0

Спасибо! Это определенно похоже на то направление, которое я искал. :) Я просто нуждался в правильном направлении. – bryanwillis7

+0

После попытки на самом деле реализовать это, я столкнулся с множеством проблем и, честно говоря, не могу понять, как применить JSON к моей ситуации. Я продолжаю изучать это и вижу, что у людей возникают проблемы с загрузкой файлов JSON локально из-за мер безопасности в Chrome и других браузерах. – bryanwillis7

+0

Всегда запускайте свое веб-приложение на сервере, оно может быть очень простым (например, 'python -m SimpleHTTPServer 8080' и открыть' localhost: 8080'). Создайте функцию 'loadAssets' с обратным вызовом, который вызывается после загрузки данных. В 'loadAssets' загружать данные через HTTP (например, используя jQuery или [суперагент] (https://github.com/visionmedia/superagent) или прямой XMLHttpRequest). Когда страница загружена, выполните 'loadAssets (function (jsonData) {/ * создайте свой игровой пользовательский интерфейс на jsonData * /});'. – kba

Смежные вопросы