javascript - 将变量添加到 JavaScript 中的变量集

标签 javascript variables

所以我正在制作我的增量游戏,Periodic Alchemy,并且我正在尝试制作一些东西来确保保存将所有新变量保留在另一个版本中。为了保存,我取了一个变量“player”,其中包含我所有的变量,并将其制作成一个可以复制的 Base64 字符串。

然而,几乎在每个新版本中,我都会添加新变量。如果玩家在具有新变量的新版本上使用他们的旧保存,那么这些新变量就会丢失并且新功能会中断。因此,当您加载游戏时,游戏会检查旧的 save_data 是否包含某些变量,如果不包含某个变量,游戏会将该变量添加到保存数据中。但是,我不知道该怎么做。这是我的“播放器”代码:

var player = {
    upQuarkClicks: 0,
    electronClicks: 0,
    downQuarkClicks: 0,
    auto_up_quark_clicks: 0,
    auto_electron_clicks: 0,
    auto_down_quark_clicks: 0,
    auto_proton_clicks: 0,
    auto_neutron_clicks: 0,
    up_quark_click_cost: 15,
    electron_click_cost: 15,
    down_quark_click_cost: 15,
    proton_click_cost: 15,
    neutron_click_cost: 15,
    upgrade_up_quark_1_cost: 50,
    upgrade_electron_1_cost: 50,
    upgrade_down_quark_1_cost: 50,
    auto_up_quark_clicks_amount: 1,
    auto_electron_clicks_amount: 1,
    auto_down_quark_clicks_amount: 1,
    auto_proton_clicks_amount: 1,
    auto_neutron_clicks_amount: 1,
    upgrade_up_quark_click_1_bought: "False",
    upgrade_electron_click_1_bought: "False",
    upgrade_down_quark_click_1_bought: "False",
    proton_up_quark_cost: 2,
    proton_down_quark_cost: 1,
    neutron_up_quark_cost: 1,
    neutron_down_quark_cost: 2,
    protonClicks: 0,
    neutronClicks: 0,
    hydrogen2DeuteriumClicks: 0,
    hydrogen1ProtiumClicks: 0,
    hydrogen3TritiumClicks: 0,
    helium3Clicks: 0,
    helium4Clicks: 0,
    lithium6Clicks: 0,
    lithium7Clicks: 0
};

那么,假设我添加了一个新变量:lithium_7_bought: "false"。这个新变量不在旧的保存数据中,因此被加载删除。找不到怎么添加?

最佳答案

像这样的东西应该可以工作:

if (!("lithium_7_bought" in player))
{
    player.lithium_7_bought = "false";
}

关于javascript - 将变量添加到 JavaScript 中的变量集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924114/

相关文章:

javascript - jQuery - 在按钮之间切换

javascript - 如何在 javascript 中使用 XMLHttpRequest 获取图像

Javascript 使用变量通过按钮创建 url

php - 函数和变量执行优先级

javascript - 为什么我们需要将 e.target.name 放在方括号 [] 中?

Javascript 单击并拖动以旋转

ruby - @users 变量为空。忘记为 will_paginate 传递集合对象?

c++ - doxygen 一次注释多个变量

templates - 将变量传递给 Ember.js 中的 Handlebars 部分

javascript - 从数组中选择随机项并将其删除,数组为空后重新启动