JSFiddle - React, Tailwind, and code Playground

HTML

<img id="background"...

CSS

html, body, div, iframe,
img, canvas, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
body{
	line-height: 1;
    font-family: sans-serif;
    background-color: #000000;
    color: #fff;
     overflow: hidden;
}
/***********EINDE RESET******************/
#cnv{
      position:absolute;
}

JavaScript

var game={};
game.w=640;
game.h=480;
game.level=[];
game.currentLevel=0;

// level
var o={};
o.intro_title='LEVEL 01';
o.spawnlist=[];
o.speed=1;
o.field=[{x:4,y:4},{x:10,y:4},{x:15,y:4}];
o.score={f:1,g:3};
o.spawn=[];
o.spawn.push({type:0,time:0});// zombie type 0 of tijd 0 
o.spawn.push({type:0,time:50});
o.spawn.push({type:0,time:80});
o.spawn.push({type:0,time:110});
game.level.push(o);

game.mouse={x:0,y:0,ox:0,oy:0,d:0};
game.zombies=[];
game.bullets=[];
game.field={w:12,h:12,bw:40,bh:40};
game.turrets=[{x:240,y:420}];
game.hud={};
game.hud.x=480;
game.hud.w=160;
game.palet={};
game.palet.greens=["#66CC33","#33CC4D","#8BD864"];
game.palet.pastel=["#66CC99","#66CCCC","#6699CC","#66CC66","#3DB87A","#2E8A5C","#9966CC","#99CC66","#B83D7A","#CC66CC"];
game.palet.cosy=["#66CC33","#33CC99","#33B3CC","#AFE495","#3366CC","#CC9933","#B164D8","#CC4D33","#CC9966","#993366"];
game.palet.zombies="#66CC00";
game.store=[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}];
// items you can buy by placing/dragging
game.credit=150;
game.score={};
game.score.fails=1;
game.score.goals=3;
game.hero={};
game.ball={};
game.goal={};
game.hero.turret=0;
game.hero.x=game.turrets[game.hero.turret].x;
game.hero.y=game.turrets[game.hero.turret].y;
initGame();

/**********************************************************************************/
function initGame()
{
    // bekijk waar ons canvas op de pagina moet staan:
    var w = window.innerWidth;
    var h = window.innerHeight;
    var fx=w/game.w;
    var fy=h/game.h;
    var f=fx;
    if(fy<fx) f=fy;
    var g_w,g_h,o_x,o_y;
    g_w=Math.floor(game.w*f);
    g_h=Math.floor(game.h*f);
    o_x=(w-g_w)/2;
    o_y=(h-g_h)/2;
    game.f=f;
    game.ox=o_x;
    game.oy=o_y;

    // create a background:
    var background = document.getElementById("background");
    background.style.zIndex = 1;
    background.style.position = "absolute";
    background.style.left = o_x+"px";
    background.style.top =...