better api for items
This commit is contained in:
parent
999040dc24
commit
a95e485cb7
3 changed files with 50 additions and 22 deletions
|
@ -4,9 +4,10 @@ var getBonus = 0;
|
||||||
var mx = 0, my = 0;
|
var mx = 0, my = 0;
|
||||||
|
|
||||||
let clicking = false;
|
let clicking = false;
|
||||||
var cubePos = [
|
|
||||||
|
|
||||||
];
|
let counts = JSON.parse(window.localStorage.getItem('counts')) || {};
|
||||||
|
|
||||||
|
var cubePos = [];
|
||||||
|
|
||||||
window.addEventListener('mousemove', (e) => {
|
window.addEventListener('mousemove', (e) => {
|
||||||
mx = e.pageX;
|
mx = e.pageX;
|
||||||
|
@ -26,7 +27,7 @@ document.querySelector('canvas').addEventListener('click', (e) => {
|
||||||
p2[1] += (my - height / 2) / height * 2;
|
p2[1] += (my - height / 2) / height * 2;
|
||||||
|
|
||||||
let b = 1 / (Math.sqrt(p2[0] ** 2 + p2[1] ** 2) + .03);
|
let b = 1 / (Math.sqrt(p2[0] ** 2 + p2[1] ** 2) + .03);
|
||||||
b = (b * b) * 0.001;
|
b = (b * b) * 0.0001;
|
||||||
|
|
||||||
getBonus += b;
|
getBonus += b;
|
||||||
}
|
}
|
||||||
|
@ -74,6 +75,5 @@ document.querySelector('canvas').addEventListener('click', async (e) => {
|
||||||
|
|
||||||
setInterval(function () {
|
setInterval(function () {
|
||||||
window.localStorage.setItem('nothings', nothingness);
|
window.localStorage.setItem('nothings', nothingness);
|
||||||
window.localStorage.setItem('cubes', cubePos.length);
|
window.localStorage.setItem('counts', JSON.stringify(counts));
|
||||||
window.localStorage.setItem('upgrades', JSON.stringify(upgrades));
|
|
||||||
}, 1000)
|
}, 1000)
|
|
@ -5,39 +5,57 @@ exec.addCube = function () {
|
||||||
Math.random() * 2 - 1, Math.random() * 2 - 1, Math.random() * 2 - 1
|
Math.random() * 2 - 1, Math.random() * 2 - 1, Math.random() * 2 - 1
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
upgrades = [
|
||||||
let upgrades = window.localStorage.getItem('upgrades')
|
{
|
||||||
|
'name': 'Set',
|
||||||
if (!upgrades) {
|
'price': 100,
|
||||||
upgrades = [
|
'exec': 'addCube',
|
||||||
{
|
'desc': 'Clicks and waiting generate more nil'
|
||||||
'name': 'Set',
|
}
|
||||||
'price': 10,
|
];
|
||||||
'exec': 'addCube'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
} else {
|
|
||||||
upgrades = JSON.parse(upgrades);
|
|
||||||
}
|
|
||||||
|
|
||||||
let hud2 = document.querySelector('.hud');
|
let hud2 = document.querySelector('.hud');
|
||||||
|
|
||||||
|
function updateText(button, price, name, cc) {
|
||||||
|
button.textContent = `Buy ${name} (${cc}x) for ${price} nil`
|
||||||
|
}
|
||||||
|
|
||||||
for (let upgrade of upgrades) {
|
for (let upgrade of upgrades) {
|
||||||
let button = document.createElement("div");
|
let button = document.createElement("div");
|
||||||
button.classList.add('item');
|
button.classList.add('item');
|
||||||
button.textContent = `Buy ${upgrade.name} for ${upgrade.price} nil`
|
|
||||||
|
let cc = counts[upgrade.exec];
|
||||||
|
|
||||||
|
if (!counts[upgrade.exec]) cc = counts[upgrade.exec] = 0;
|
||||||
|
|
||||||
|
let price = upgrade.price * (1.02 ** cc);
|
||||||
|
|
||||||
|
updateText(button, price, upgrade.name, cc);
|
||||||
|
|
||||||
hud2.appendChild(button);
|
hud2.appendChild(button);
|
||||||
|
|
||||||
button.addEventListener('click', () => {
|
button.addEventListener('click', () => {
|
||||||
if (nothingness < upgrade.price) return;
|
if (nothingness < upgrade.price) return;
|
||||||
|
counts[upgrade.exec]++;
|
||||||
|
|
||||||
|
cc = counts[upgrade.exec];
|
||||||
|
|
||||||
|
price = upgrade.price * (1.02 ** counts[upgrade.exec]);
|
||||||
|
|
||||||
nothingness -= upgrade.price;
|
nothingness -= upgrade.price;
|
||||||
upgrade.price *= 1.02;
|
upgrade.price *= 1.02;
|
||||||
button.textContent = `Buy ${upgrade.name} for ${upgrade.price} nil`
|
updateText(button, price, upgrade.name, cc);
|
||||||
|
|
||||||
exec[upgrade.exec]();
|
exec[upgrade.exec]();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
let desc = document.createElement('div');
|
||||||
|
desc.classList.add('desc');
|
||||||
|
desc.textContent = upgrade.desc;
|
||||||
|
hud2.appendChild(desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
let cubesI = window.localStorage.getItem('cubes') * 1;
|
let cubesI = (counts.addCube || 0) * 1;
|
||||||
|
|
||||||
for (let i = 0; i < cubesI; i++) {
|
for (let i = 0; i < cubesI; i++) {
|
||||||
exec.addCube();
|
exec.addCube();
|
||||||
|
|
|
@ -42,4 +42,14 @@ html {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desc {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
font-size: 0.5em;
|
||||||
|
|
||||||
|
background: rgb(204, 191, 209);
|
||||||
|
padding: 5px;
|
||||||
|
width: 300px;
|
||||||
|
font-style: italic;
|
||||||
}
|
}
|
Loading…
Reference in a new issue