Your IP : 216.73.217.62


Current Path : /home/kamilrogam/lab/eduBulb/assets/
Upload File :
Current File : /home/kamilrogam/lab/eduBulb/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;roundNumber=0;let startLives=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=1,timeout.volume=.2,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,startLives--),startLives<1&&(canvas.classList.remove("gameActive"),canvas.classList+=" fail",clearInterval(roundTime),fail(roundNumber)))):canvas.classList.contains("roundEnded")?a>=176&&a<=325&&e>=345&&e<=414&&startLives>0&&game(roundNumber,startLives):canvas.classList.contains("fail")?a>=176&&a<=325&&e>=345&&e<=414&&(startLives=3,game(0,3)):a>=140&&a<=360&&e>=365&&e<=435&&(startLives=3,game(0,3))},!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(),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<=startLives;++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"),canvas.classList+=" gameActive",number=Math.floor(7*Math.random())+1,time=11,roundTime=setInterval(function(){--time<0?(canvas.classList.remove("gameActive"),canvas.classList+=" fail",--startLives,clearInterval(roundTime),startLives<1?fail(t):(timeout.play(),game(t,startLives))):canvDraw(number,time)},1e3-50*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)});