Your IP : 216.73.217.62


Current Path : /home/kamilrogam/lab/huntANumber/assets/
Upload File :
Current File : /home/kamilrogam/lab/huntANumber/assets/init.min.js

const canvas=document.querySelector("canvas"),cLeft=canvas.offsetLeft,cTop=canvas.offsetTop,ctx=canvas.getContext("2d"),arcRadius=75;let roundTime,roundNumber,number,time,actualLives,startLives;roundNumber=0,startLives=actualLives=3;const imageObj=new Image;imageObj.src="https://lab.kamilrogala.it/huntANumber/assets/heart.png";const win=new Audio("https://lab.kamilrogala.it/huntANumber/assets/win.mp3"),failed=new Audio("https://lab.kamilrogala.it/huntANumber/assets/fail.mp3"),timeout=new Audio("https://lab.kamilrogala.it/huntANumber/assets/timeout.mp3");win.volume=failed.volume=timeout.volume=.5,canvas.addEventListener("click",function(t){let a=t.pageX-cLeft,e=t.pageY-cTop;canvas.classList.contains("gameActive")?Math.pow(a-canvas.width/2-75/4+2*cLeft,2)+Math.pow(e-canvas.height/2-75/4+2*cTop,2)<Math.pow(75,2)&&(ctx.fillStyle="#de3636",ctx.arc(canvas.width/2,canvas.height/2,75,0,2*Math.PI),ctx.fill(),time===number?(canvas.classList.remove("gameActive"),canvas.classList+=" roundEnded",winDraw(++roundNumber),clearInterval(roundTime)):(canvDraw(number,time),actualLives<1?(canvas.classList.remove("gameActive"),canvas.classList+=" fail",clearInterval(roundTime),fail(roundNumber)):(--actualLives,clearInterval(roundTime),actualLives>0&&timeout.play(),game(roundNumber,actualLives)))):canvas.classList.contains("roundEnded")?a>=176&&a<=325&&e>=345&&e<=414&&actualLives>0&&game(roundNumber,actualLives):canvas.classList.contains("fail")?a>=176&&a<=325&&e>=345&&e<=414&&game(roundNumber,actualLives):a>=140&&a<=360&&e>=365&&e<=435&&game(roundNumber,actualLives)},!1);const winDraw=function(t){win.play(),ctx.fillStyle="#2f2f2f",ctx.fillRect(0,0,canvas.width,canvas.height),ctx.fillStyle="#15b900",ctx.fillRect(canvas.width/2-75,345,150,70),ctx.font="45px 'Arial', sans-serif",ctx.fillStyle="#fff",ctx.textAlign="center",ctx.fillStyle="#15b900",ctx.fillText("WYGRANA!",canvas.width/2,100),ctx.fillStyle="#fff",ctx.fillText(`Runda ${t} zakończona!`,canvas.width/2,175),ctx.fillText("Grasz dalej?",canvas.width/2,305),ctx.font="65px 'Arial', sans-serif",ctx.fillText("TAK",canvas.width/2,405)},fail=function(t){failed.play(),actualLives=startLives,roundNumber=0,ctx.fillStyle="#2f2f2f",ctx.fillRect(0,0,canvas.width,canvas.height),ctx.fillStyle="#15b900",ctx.fillRect(canvas.width/2-75,345,150,70),ctx.font="45px 'Arial', sans-serif",ctx.fillStyle="#fff",ctx.textAlign="center",ctx.fillStyle="#b40000",ctx.fillText("PRZEGRANA!",canvas.width/2,100),ctx.fillStyle="#fff",ctx.fillText(`Pokonała Cię runda ${t}`,canvas.width/2,175),ctx.fillText("Grasz dalej?",canvas.width/2,305),ctx.font="65px 'Arial', sans-serif",ctx.fillText("TAK",canvas.width/2,405)},canvDraw=function(t,a){ctx.fillStyle="#2f2f2f",ctx.fillRect(0,0,canvas.width,canvas.height),ctx.fillStyle="#b40000",ctx.arc(canvas.width/2,canvas.height/2,75,0,2*Math.PI),ctx.fill(),ctx.font="25px 'Arial', sans-serif",ctx.fillStyle="#fff",ctx.textAlign="center",ctx.fillText("Ustrzel",canvas.width/2,245),ctx.fillText("numer!",canvas.width/2,275),ctx.font="45px 'Arial', sans-serif",ctx.fillText(t,canvas.width/2,145),ctx.fillText(a,canvas.width/2,canvas.height-105);for(let t=1;t<=actualLives;++t)ctx.drawImage(imageObj,canvas.width-30*t,25)},game=function(t,a=3){(canvas.classList.contains("start")?canvas.classList.remove("start"):canvas.classList.contains("roundEnded")?canvas.classList.remove("roundEnded"):canvas.classList.contains("fail")&&canvas.classList.remove("fail"),actualLives>0)?(canvas.classList+=" gameActive",number=Math.floor(7*Math.random())+1,time=11,roundTime=setInterval(function(){--time<0?(canvas.classList.remove("gameActive"),canvas.classList+=" fail",--actualLives,clearInterval(roundTime),actualLives<1?fail(t):(timeout.play(),game(t,actualLives))):canvDraw(number,time)},1e3-50*t)):(canvas.classList.remove("gameActive"),canvas.classList+=" fail",clearInterval(roundTime),fail(t))};document.addEventListener("DOMContentLoaded",function(){document.body.style.margin=0,canvas.style.cursor="pointer";const t=document.querySelector(".bottom");t.style.position="fixed",t.style.bottom=t.style.left="10px",t.querySelector("img").style.maxWidth="250px",canvas.classList+=" start",ctx.fillStyle="#2f2f2f",ctx.fillRect(0,0,canvas.width,canvas.height),ctx.fillStyle="#15b900",ctx.fillRect(canvas.width/2-110,365,220,70),ctx.font="65px 'Arial', sans-serif",ctx.fillStyle="#fff",ctx.textAlign="center",ctx.fillText("Upoluj numer",canvas.width/2,100),ctx.font="50px 'Arial', sans-serif",ctx.fillText("Zaczynamy?",canvas.width/2,330),ctx.font="65px 'Arial', sans-serif",ctx.fillText("START",canvas.width/2,425),ctx.textAlign="left",ctx.font="30px 'Arial', sans-serif",ctx.fillText("Zadanie jest proste:",25,155),ctx.fillText("kliknij czerwony button gdy zegar",25,190),ctx.fillText("pokaże wylosowaną liczbę.",25,220),ctx.font="20px 'Arial', sans-serif",ctx.fillText("Legenda głosi, że nikt nie dotrwał do 18 rundy...",25,260)});