在node.js中运行文件并使用" inquirer"

时间:2016-12-04 03:24:01

标签: javascript node.js

我有一个迷你游戏程序,我要求用户输入一个数字,如果数字与随机选择的数字相匹配,我会减去对手变量的另一个随机数。另外,对手会伤害我。我让程序使用减法,但问题是,每次我在node.js中运行我的文件(即节点fileName.js 4)时,程序中的所有变量都会重置。当&#34;损坏&#34;从&#34; hp&#34;中减去应该保存hp,但它会不断重置。 <{1}}和mainCharacter不应该重置。

zombie.hp

1 个答案:

答案 0 :(得分:1)

如果您希望数据保持不变,您应该查看键值存储,数据库,将其保存到文件中...否则每次运行该文件时都会:

var mainCharacter = 70;
var zombie = {
    hp: 15,
    num: 0
}

在文件加载时将设置值,因为这些行已执行,但是不会永久存储值,并且在脚本结束后它们将不再存在。

看起来你正在寻找快速而且有争议的解决方案所以我建议使用文件系统并将其保存为:gameMemory.json

gameMemory.json的内容:

{
    "mainCharacter" : 70,
    "zombie" : {
        "hp": 15,
        "num": 0
    }
}

从gameMemory.js加载值:

fs = require('fs');
//loads the gameMemory into a json object
var gameMemory =JSON.parse(fs.readFileSync('./gameMemory.json', 'utf8'));

然后当你完成对变量的操作并希望它们持续存在时:

fs.writeFileSync('./gameMemory.json', JSON.stringify(gameMemory, null, 2) , 'utf-8');