62 lines
No EOL
1.5 KiB
JavaScript
62 lines
No EOL
1.5 KiB
JavaScript
let exec = {};
|
|
|
|
exec.addCube = function () {
|
|
cubePos.push([Math.random() * 1000 - 500, Math.random() * 1000 - 500, Math.random() * 30 - 200,
|
|
Math.random() * 2 - 1, Math.random() * 2 - 1, Math.random() * 2 - 1
|
|
])
|
|
}
|
|
upgrades = [
|
|
{
|
|
'name': 'Set',
|
|
'price': 100,
|
|
'exec': 'addCube',
|
|
'desc': 'Clicks and waiting generate more nil'
|
|
}
|
|
];
|
|
|
|
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) {
|
|
let button = document.createElement("div");
|
|
button.classList.add('item');
|
|
|
|
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);
|
|
|
|
button.addEventListener('click', () => {
|
|
if (nothingness < upgrade.price) return;
|
|
counts[upgrade.exec]++;
|
|
|
|
cc = counts[upgrade.exec];
|
|
|
|
price = upgrade.price * (1.02 ** counts[upgrade.exec]);
|
|
|
|
nothingness -= upgrade.price;
|
|
upgrade.price *= 1.02;
|
|
updateText(button, price, upgrade.name, cc);
|
|
|
|
exec[upgrade.exec]();
|
|
})
|
|
|
|
let desc = document.createElement('div');
|
|
desc.classList.add('desc');
|
|
desc.textContent = upgrade.desc;
|
|
hud2.appendChild(desc);
|
|
}
|
|
|
|
let cubesI = (counts.addCube || 0) * 1;
|
|
|
|
for (let i = 0; i < cubesI; i++) {
|
|
exec.addCube();
|
|
} |