From cd8cdd31e3f61cd2b4bf1d0ab5ff5c5789a922c9 Mon Sep 17 00:00:00 2001 From: John McCardle Date: Thu, 6 Jan 2022 18:15:51 -0500 Subject: [PATCH] Basic game data structure for devices and workers. --- store/const.js | 13 +++++++++++ store/incremental.js | 51 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 store/const.js diff --git a/store/const.js b/store/const.js new file mode 100644 index 0000000..e079af5 --- /dev/null +++ b/store/const.js @@ -0,0 +1,13 @@ +export default { + currencies: [ + "energy", + "seasons", + "months", + "days", + "hours", + "seconds", + "nanoseconds", + "plancktime" + ] + +} diff --git a/store/incremental.js b/store/incremental.js index 3b1915c..b0c55b6 100644 --- a/store/incremental.js +++ b/store/incremental.js @@ -1,19 +1,52 @@ import Decimal from "break_infinity.js" +import currencies from "./const.js" export const state = () => ({ - currency: { - energy: new Decimal(0), - // if it hasn't been your - days: new Decimal(0), - weeks: new Decimal(0), - months: new Decimal(0), - // or even your - years: new Decimal(0) - } + // use currencies from const as keys; initialize all values to zero + currency: currencies.reduce(function(obj, x) { + obj[x] = new Decimal(0); + return obj; + }, {}), + + processes: [ + { device: "Star Chart", + worker: "Shaman", + boughtWith: null, + produces: currencies.seasons, + deviceCount: new Decimal(0), + workerCount: new Decimal(0), + unlockThreshold: {currencies.seasons: 0, tech: null} + }, + { device: "Stone Calendar", + worker: "Stonecarver", + boughtWith: currencies.seasons, + produces: currencies.months, + deviceCount: new Decimal(0), + workerCount: new Decimal(0), + unlockThreshold: {currencies.seasons: 1, tech: null} + }, + { device: "Astrolabes", + worker: "Mathematician", + boughtWith: currencies.months, + produces: currencies.days, + deviceCount: new Decimal(0), + workerCount: new Decimal(0), + unlockThreshold: {currencies.days: 10, tech: 0} + } + ], + + upgrades: [ + { name: "Mathematics" + boughtWith: currencies.seasons, + price: 100, + purchased: false + }, + ] }) export const mutations = { add(state, { key, value }) { + console.log(state.currency.keys()) state.currency[key] = Decimal.add(state.currency[key], value) },