JSFiddle - React, Tailwind, and code Playground
HTML
<span id="cookies"></span><br/>
<button onclick="cookieClick(1)">Cookie</button>
<button onclick="buyCursor()">Buy cursor</button>
<br/>
Cursors: <span id="cursors">0</span><br />
Cost: <span id="cursorCost">10</span>
<br/>
<button onclick="save()">Save game</button>
<button onclick="load()">Load game</button>
<script>
// liczba ciasteczek na początku gry
var cookies = 0;
//klikając podnosimy liczbę ciastek o 1 po kliknięciu w przycisk
function cookieClick(number) {
cookies = cookies + number;
document.getElementById("cookies").innerHTML = cookies;
}
// liczba cursors na początku wynosi 0
var cursors = 0;
// funkcja odpowiada za kupowanie kursorow
function buyCursor(){
// koszt kursora jako 10* 1,1 ^ liczba kursorów
var cursorCost = Math.floor(10 * Math.pow(1.1,cursors));
//sprawdzamy czy liczba cookies jest wieksza czy rowna kosztowi cursora, jesli tak, to kup 1
if(cookies >= cursorCost){
cursors = cursors + 1;
cookies = cookies - cursorCost;
document.getElementById('cursors').innerHTML = cursors;
document.getElementById('cookies').innerHTML = cookies;
}
//obliczamy koszt kolejnego kursora 10*1.1^liczba cursorow
var nextCost = Math.floor(10 * Math.pow(1.1,cursors));
document.getElementById('cursorCost').innerHTML = nextCost;
}
//co sekunde zwiekszamy liczbe cookies o liczbe cursorow
window.setInterval(function(){
cookieClick(cursors);
}, 1000);
//zapis gry
function save() {
var save = {
cookies: cookies,
cursors: cursors
};
localStorage.setItem("save",JSON.stringify(save));
}
//wczytanie gry
function load() {
var savegame = JSON.parse(localStorage.getItem("save"));
if (typeof savegame.cookies !== "undefined") {cookies = savegame.cookies}
if (typeof savegame.cursors !== "undefined") {cursors = savegame.cursors}
}
</script>