Button Simulator E.D. copy

by Blackcatgame77

HTML

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">

    <title>Button simulator</title>
    <meta name="description" content="A basic button simulator">
    <meta name="author" content="Blackcatgame77">
  </head>

  <body>
    <canvas id="canvas1" width=1920 height=1080 style="border:1px solid lightgrey;">
      Your browser does not support the HTML5 canvas tag.
    </canvas>
    <script>
      "use strict";
      let canvas;
      let context;

      window.onload = init;

      window.onclick = function() {
        sceneChanger(event);
        multiGiver(event);
        rebGiver(event);
        stoneGiver(event);
        whiteGemsGiver(event);
        rebuildGiver(event);
      }
      

      function init() {
        canvas = document.getElementById('canvas1');
        context = canvas.getContext('2d');
        window.requestAnimationFrame(gameLoop);
        loadGame();
      }

      function gameLoop(timeStamp) {
        draw();
        window.requestAnimationFrame(gameLoop);
      }

    </script>
  </body>

</html>

JavaScript

var scene = 'spawnB'
var cash = 0;
var multi = 0;
var rebirth = 0;
var stone = 0;
var whiteGems = 0;
var crystal = 0;
var upgrades = false;
var stats = false;
var gems = 0;
var time = 0;

function saveGame() {
  localStorage.setItem('Cash', cash);
  localStorage.setItem('Multiplier', multi);
  localStorage.setItem('Rebirth', rebirth);
  localStorage.setItem('Stone', stone);
  localStorage.setItem('White gems', whiteGems);
  localStorage.setItem('Crystal', crystal);
  localStorage.setItem('Gems', gems);
}

function loadGame() {
  cash = parseInt(localStorage.getItem('Cash')) || 0;
  multi = parseInt(localStorage.getItem('Multiplier')) || 0;
  rebirth = parseInt(localStorage.getItem('Rebirth')) || 0;
  stone = parseInt(localStorage.getItem('Stone')) || 0;
  whiteGems = parseInt(localStorage.getItem('White gems')) || 0;
  crystal = parseInt(localStorage.getItem('Crystal')) || 0;
  gems = parseInt(localStorage.getItem('Gems')) || 0;
}


function drawAll() {
  if (scene === 'spawnB') {
    drawSceneSpawn();
    scene = 'spawn';
  }
  if (scene === 'cavesB') {
    drawSceneCaves();
    scene = 'caves';
  }
  if (scene === 'crystal beneathsB') {
    drawSceneCrystalBeneaths();
    scene = 'crystal beneaths';
  }
  if (scene === 'spawn') {
    drawSceneSpawn();
  }
  if (scene === 'caves') {
    drawSceneCaves();
  }
  if (scene === 'crystal beneaths') {
    drawSceneCrystalBeneaths();
  }
}

function drawStuff() {
  let cashE = cash;
  let multiE = multi;
  let rebirthE = rebirth;
  let gemsE = gems;
  //notation maker
  {
    //cash notation
    {
      if (cash < 1e+3) {
        cashE = (cash).toFixed(1);
      }
      if (cash >= 1e+3) {
        cashE = (cash / 1e+3).toFixed(1).replace(/\.0$/, '') + 'K';
      }
      if (cash >= 1e+6) {
        cashE = (cash / 1e+6).toFixed(1).replace(/\.0$/, '') + 'M';
      }
      if (cash >= 1e+9) {
        cashE = (cash / 1e+9).toFixed(1).replace(/\.0$/, '') + 'B';
      }
      if (cash >= 1e+12) {
        cashE = (cash /...