mirror of https://github.com/espruino/BangleApps
70 lines
2.0 KiB
JavaScript
70 lines
2.0 KiB
JavaScript
(function(back) {
|
|
var FILE = "game1024.settings.json";
|
|
var scoreFile = "game1024.json";
|
|
// Load settings
|
|
var settings = Object.assign({
|
|
maxUndoLevels: 5,
|
|
charIndex: 0,
|
|
clockMode: true,
|
|
debugMode: false,
|
|
}, require('Storage').readJSON(FILE, true) || {});
|
|
|
|
function writeSettings() {
|
|
require('Storage').writeJSON(FILE, settings);
|
|
}
|
|
var symbols = ["1 2 3 ...", "A B C ...", "I II III..."];
|
|
var settingsMenu = {
|
|
"" : { "title" : "1024 Game" },
|
|
"< Back" : () => back(),
|
|
"Symbols": {
|
|
value: 0|settings.charIndex,
|
|
min:0,max:symbols.length-1,
|
|
format: v=>symbols[v],
|
|
onchange: v=> { settings.charIndex=v; writeSettings();}
|
|
}
|
|
,
|
|
"Undo levels:": {
|
|
value: 0|settings.maxUndoLevels, // 0| converts undefined to 0
|
|
min: 0, max: 9,
|
|
onchange: v => {
|
|
settings.maxUndoLevels = v;
|
|
writeSettings();
|
|
}
|
|
},
|
|
"Exit press:": {
|
|
value: !settings.debugMode, // ! converts undefined to true
|
|
format: v => v?"short":"long",
|
|
onchange: v => {
|
|
settings.debugMode = v;
|
|
writeSettings();
|
|
},
|
|
},
|
|
"Debug mode:": {
|
|
value: !!settings.debugMode, // !! converts undefined to false
|
|
format: v => v?"On":"Off",
|
|
onchange: v => {
|
|
settings.debugMode = v;
|
|
writeSettings();
|
|
}
|
|
},
|
|
"Reset Highscore": () => {
|
|
E.showPrompt('Reset Highscore?').then((v) => {
|
|
let delay = 50;
|
|
if (v) {
|
|
delay = 500;
|
|
let sF = require("Storage").readJSON(scoreFile, true);
|
|
if (typeof sF !== "undefined") {
|
|
E.showMessage('Resetting');
|
|
sF.highScore = 0;
|
|
require("Storage").writeJSON(scoreFile, sF);
|
|
} else {
|
|
E.showMessage('No highscore!');
|
|
}
|
|
}
|
|
setTimeout(() => E.showMenu(settingsMenu), delay);
|
|
});
|
|
}
|
|
}
|
|
// Show the menu
|
|
E.showMenu(settingsMenu);
|
|
}) |