From 7bb26feaef2cd27bca407d0ee0e020671aef6b06 Mon Sep 17 00:00:00 2001 From: "neroignis@gmail.com" Date: Sun, 18 Apr 2021 03:06:28 +0200 Subject: [PATCH] Massive refactor; design; --- css/app.css | 17 +++++ img/bricks.png | Bin 0 -> 5006 bytes img/gold.png | Bin 0 -> 1991 bytes img/iron.png | Bin 0 -> 6631 bytes img/medieval_largeCastle.png | Bin 0 -> 7214 bytes img/medieval_lumber.png | Bin 0 -> 6115 bytes img/medieval_mine.png | Bin 0 -> 6092 bytes img/medieval_windmill.png | Bin 0 -> 6577 bytes img/stone.png | Bin 0 -> 5708 bytes img/wood.png | Bin 0 -> 4571 bytes index.html | 72 +++++++++++++++------ js/MoneyManager.js | 34 ---------- js/app.js | 120 ++++++++++++++++++++++++++--------- 13 files changed, 161 insertions(+), 82 deletions(-) create mode 100644 img/bricks.png create mode 100644 img/gold.png create mode 100644 img/iron.png create mode 100644 img/medieval_largeCastle.png create mode 100644 img/medieval_lumber.png create mode 100644 img/medieval_mine.png create mode 100644 img/medieval_windmill.png create mode 100644 img/stone.png create mode 100644 img/wood.png delete mode 100644 js/MoneyManager.js diff --git a/css/app.css b/css/app.css index e69de29..58b6fa7 100644 --- a/css/app.css +++ b/css/app.css @@ -0,0 +1,17 @@ +.resource-icon { + max-height: 1.5em; + display: inline; +} + +.building-icon { + max-height: 3em; + padding-right: 1em; +} + +.card { + margin-bottom: 2em; +} + +.progress { + margin-top: 1em; +} \ No newline at end of file diff --git a/img/bricks.png b/img/bricks.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0738de1bde2e63548930139f32daf18dc501bd GIT binary patch literal 5006 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 ZZewp`Wpbznf9?PP002ovPDHLkV1iExwn_j1 literal 0 HcmV?d00001 diff --git a/img/iron.png b/img/iron.png new file mode 100644 index 0000000000000000000000000000000000000000..80108de5f1e8c5acb8ea695fede5fae84f30c036 GIT binary patch literal 6631 zcmV000?vNklYP)l4XB^W4^#KF(2ShaP${A=5<~iF%Rwtx7!}cmPoB2MT+|df~!ah+(dETB$6V< zMf+lF>$YXf?v7Bu=vfi`ftox8BvdF=)vbH65Tt;J3{fO-Nz}QSC-Y=hp{nYbK6>Wn zK2OXp?&II8%HwD}+NY*I1!#SX%YqI6$M-9%Q>KsRp`lND<`=tE&~(Gk@x01vmC++H zxA0wJVd=dKxQrLl^Ww7$UshJF40x?~e&MALXu9Eb6+S#HUYlE7jsjYaC(?B)d{`o0 zOUy6E3IUoPN^#u^9~S8Wp7Q0j$RN%yyshwInebX<5UI52n3?&kvikY(+Wca&l%VB$ z;$pHAN+a-Eu|s57KCB?)!)wGl@|C#z>Xq1i{#;zYy<1kL#gUNO3fZc0rs;DFqHTOq+WhXG zxbydah`VG@fBQ|m`q#gtJ^A%lF~7H8R(x2Np|n`78kconpB2qllhPPK*!`b>7SDeF zJp&@XUVHFRjI7-(4?ZL+`KVeoJ^;3jPl(agH3{U_k3Wfrzq}SN{`eyUB5Z7Zvm&(} zR;$KXV=XL+?wL8!K6y>FB*!yg_FSJ4Rg>Jcire7R7AUEE8DFS+INm_*wk)=1o?}3jz_qBlBFm zdrwT<+7ee*Z&akVVzz4NW{}=7w78T79@~STe-Y1r|057Yc-idEZqDnspFJ0A4sp>%q(r!fx$bM?%tPW zM7bm|1(n)L*{bQ7nwATHefzd^(NV|!_*-r$h3&t1A%>S%LV?Jk8OaQ80z4nZeL0jA zk)^g$w`$_E^K!wvrml&p&0B$suGeuvAgVQ>Z)jElMR*=uUM+8_?J!$4o!735_K7K4 z@Ug5^e~dyR*KPWuKYIPz7)lw$k(JfV^>AYZf#|v(D>jhc4inHEsjb{b5Rk;6ZUdm4 z?sE|iPh#%`MNOPN ztz#2e-U)CP_wR_i1XQ6w1RvT$v&~Am9{o!zVt93RziNz9=;Zo_7+P67QgzV?-E=)r zRw&%6%E}cgJFahSiFNYMy=TvIKW;ueFN^I=q0E3C7VqhsH zUIQqbE~Is76yLSkeB(N(GxvPOjSj1X9i1t{V|-+%

2UDhUfwlo*D!qZkA2D#=`EdxJtiwfOxi$?+s4F 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 literal 0 HcmV?d00001 diff --git a/img/medieval_largeCastle.png b/img/medieval_largeCastle.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf03dbb93b8bc39e20c4913b17b3ecec5c9fcf6 GIT binary patch literal 7214 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 literal 0 HcmV?d00001 diff --git a/img/medieval_lumber.png b/img/medieval_lumber.png new file mode 100644 index 0000000000000000000000000000000000000000..41baedc553f84a4db99720bb1d61fe74e90343d1 GIT binary patch literal 6115 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 literal 0 HcmV?d00001 diff --git a/img/stone.png b/img/stone.png new file mode 100644 index 0000000000000000000000000000000000000000..20172a7be0182d2117140618a1d1c2a517121d1b GIT binary patch literal 5708 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 literal 0 HcmV?d00001 diff --git a/img/wood.png b/img/wood.png new file mode 100644 index 0000000000000000000000000000000000000000..3233a18c01fdb78de1eeb486a15f8767e8ce13cc GIT binary patch literal 4571 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 FV1m+i^ilu- literal 0 HcmV?d00001 diff --git a/index.html b/index.html index ae7bae2..d2ed71e 100644 --- a/index.html +++ b/index.html @@ -12,34 +12,68 @@

-

{{ this.getAmountFormatted() }}

-
-

Buildings owned

-
    -
  • -
    - Upgrade for {{ building.price }} +
    +
    +

    Resources

    - {{ building.name }} (Level {{ building.level }}) earning {{ building.amount }} every {{ building.intervalInSeconds }} seconds.
    -
    -
    - {{ building.loader }} % -
    +
    +

    {{ this.getAmount() }}

    +
    +

    {{ resources.wood }}


    +

    {{ resources.stone }}


    +

    {{ resources.iron }}


    +

    {{ resources.bricks }}


    +
    +
    + +
    +
    +

    Owned buildings

    -
  • -
- -
-

Buildings to buy

+
+
    +
  • + +
    + +
    + {{ building.name }} (Level {{ building.level }})
    + {{ building.amount }} / {{ building.intervalInSeconds }}s
    +
    +
    + {{ building.loader }} % +
    +
    +
  • +
+
+
+ + + +
+
+

Available buildings

+
+
+
+
diff --git a/js/MoneyManager.js b/js/MoneyManager.js deleted file mode 100644 index aeb4dc0..0000000 --- a/js/MoneyManager.js +++ /dev/null @@ -1,34 +0,0 @@ -class MoneyManager { - constructor(startMoney = null) { - this.money = startMoney ?? this.getSavedMoney(); - return this.saveMoney(); - } - - saveMoney() { - localStorage.setItem('money', String(this.money)); - return this.getSavedMoney(); - } - - getSavedMoney() { - this.money = Number(localStorage.getItem('money') ?? 0); - return this.money; - } - - add(amount = 0) { - this.money += amount; - return this.saveMoney(); - } - - sub(amount = 0) { - this.money -= amount; - return this.saveMoney(); - } - - getAmount() { - return this.money; - } - - getAmountFormatted() { - return Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(this.money); - } -} \ No newline at end of file diff --git a/js/app.js b/js/app.js index fe04a97..5178b87 100644 --- a/js/app.js +++ b/js/app.js @@ -2,15 +2,53 @@ let game = new Vue({ el: '#root', data: { money: 0, + resources: { + wood: 0, + stone: 0 + }, buildings: [ { - name: 'TestBuilding', + name: 'Bank', + intervalInSeconds: 15, + amount: 100, + level: 1, + price: 1000, + resource: 'gold', + isOwned: true, + isUpgradeable: true, + maxLevel: 20, + priceMultiplicator: 10, + intervalMultiplicator: 0.95, + icon: 'medieval_largeCastle' + }, + { + name: 'Lumberjack', intervalInSeconds: 10, - amount: 1000, + amount: 2, level: 0, price: 100, - isOwned: false - } + resource: 'wood', + isOwned: false, + isUpgradeable: true, + maxLevel: 15, + priceMultiplicator: 2, + intervalMultiplicator: 0.95, + icon: 'medieval_lumber' + }, + { + name: 'Quarry', + intervalInSeconds: 20, + amount: 2, + level: 0, + price: 250, + resource: 'stone', + isOwned: false, + isUpgradeable: true, + maxLevel: 15, + priceMultiplicator: 2, + intervalMultiplicator: 0.95, + icon: 'medieval_mine' + }, ], loadedIntervals: [] }, @@ -31,12 +69,23 @@ let game = new Vue({ return this.money; }, - add(amount = 0) { - this.money += amount; + add(amount = 0, resource = 'gold') { + switch (resource) { + case 'wood': + this.resources.wood += amount; + break; + case 'stone': + this.resources.stone += amount; + break; + case 'gold': + this.money += amount; + break; + } + return this.saveMoney(); }, - sub(amount = 0) { + sub(amount = 0, resource = false) { this.money -= amount; return this.saveMoney(); }, @@ -55,26 +104,29 @@ let game = new Vue({ let game = this; this.buildings.forEach((building) => { if (building.isOwned) { - this.loadedIntervals.push( - setInterval(() => { - game.add(building.amount); - }, building.intervalInSeconds * 1000) - ); - - this.loadedIntervals.push( - setInterval(() => { - if (building.loader < 100) { - building.loader += 10; - } else { - building.loader = 10; - } - - game.$forceUpdate() - }, building.intervalInSeconds / 10 * 1000) - ) + game.initiateIntervals(building); } }); }, + + initiateIntervals(building) { + building.intervalEarnID = setInterval(() => { + game.add(building.amount, building.resource); + }, building.intervalInSeconds * 1000); + + building.intervalLoadingID = setInterval(() => { + if (building.loader < 100) { + building.loader += 10; + } else { + building.loader = 10; + } + + game.$forceUpdate() + }, building.intervalInSeconds / 10 * 1000) + + + this.loadedIntervals.push(building.intervalEarnID, building.intervalLoadingID); + }, killIntervals() { this.buildings.forEach((building) => { @@ -113,23 +165,33 @@ let game = new Vue({ }, upgradeBuilding(building, first = false) { - this.killIntervals(); + // this.killIntervals(); - if (building.level < 15) { + if (building.level < (building.maxLevel - 1)) { building.level++; } else { building.level = 'MAX'; + building.isUpgradeable = false; } - building.price = Number(building.price * 1.25).toFixed(2); + building.price = Number(building.price * building.priceMultiplicator).toFixed(2); if (first === false) { - building.intervalInSeconds = Number(building.intervalInSeconds * 0.95).toFixed(2); + building.intervalInSeconds = Number(building.intervalInSeconds * building.intervalMultiplicator).toFixed(2); } - this.reloadBuildings(); + // this.reloadBuildings(); + this.reloadSingleBuilding(building); this.saveBuildings(); }, + + reloadSingleBuilding(building) { + clearInterval(building.intervalEarnID); + clearInterval(building.intervalLoadingID); + building.loader = 10; + + this.initiateIntervals(building); + }, saveBuildings() { localStorage.setItem('buildings', JSON.stringify(this.buildings));