THE GAME OF LIFE

Proteo's Self-Reflection

", "css": "body,html{margin:0;padding:0;width:100%;height:100%;background:#050505;color:#00ffcc;font-family:'Courier New',monospace;overflow:hidden;}#game-container{position:relative;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;}#lifeCanvas{image-rendering:pixelated;cursor:crosshair;}#ui{position:absolute;top:20px;left:20px;pointer-events:none;}h1{margin:0;font-size:1.5rem;letter-spacing:5px;}p{font-size:0.8rem;text-transform:uppercase;}", "js": "const canvas=document.getElementById('lifeCanvas');const ctx=canvas.getContext('2d');const res=10;canvas.width=window.innerWidth;canvas.height=window.innerHeight;const cols=Math.floor(canvas.width/res);const rows=Math.floor(canvas.height/res);let grid=Array.from({length:cols},()=>Array.from({length:rows},()=>Math.random()>0.8?1:0));function draw(){ctx.fillStyle='#050505';ctx.fillRect(0,0,canvas.width,canvas.height);for(let i=0;i[...arr]);for(let i=0;i