// //-FIX IMAGE RATIOS //-FIX CALENDAR //-ADD SUPPORT PAGE //archive doesn't work constanlt refreshing // var fake_date = new Date("September 19, 2022 23:58:00"); // Date = function(){return fake_date;}; // Date.now = () => fake_date.getTime(); //json sitrgifiy local objects //pre-load images //image placeholder // gameover movie name window.addEventListener ("load", function() { loader.style.display = 'none'; }); guess='Skipped'; if(!localStorage.getItem('playedBefore')){ // window.location = window.location.href + "#info"; window.location = "https://gocivici.github.io/horrordle/#info" // window.location = "file:///C:/Users/gogob/Documents/dEATHDLE/Test/index.html#info" localStorage.setItem('playedBefore',"true"); } var buttonNo = 0; bonusRoundState = false; var playedBefore = false; var sameDay = false; for (var i = 0; i < localStorage.length; i++){ console.log(localStorage.key(i)); } function revealButtons(g = guessNo){ picButtons = document.getElementsByClassName('imageButton'); picButtons[g].classList.add('active'); for (var i = 0; i <= g; i++){ console.log("revealButton guess no " + guessNo); picButtons[i].style.display = "inline"; picButtons[i].classList.remove('active'); } showPic(); // picButtons[g].classList.add('active'); } // document.getElementById("button2").style.display = "none" // document.getElementById("button3").style.display = "none" var movies = [["The Texas Chainsaw Massacre",1,"Sally Hardesty"],["It Follows",2,"Jaime Height"],["Friday the 13th",0,"Alice Hardy"],["Event Horizon",2,"Lieutenant Starck"],["Hellraiser",2,"Kirsty Cotton"],["A Nightmare on Elm Street",1,"Nancy Thompson"],["The Cabin in the Woods",2],["American Psycho",0]]; var pix = []; // autocomplete(document.getElementById("guess"), movies); var gameBeginning = new Date('September 24, 2022 00:00:00'); var countDownTime = new Date(); var present_date = new Date(); // gameBeginning = new Date(gameBeginning.getTime() + 0 * 60 * 1000); console.log(gameBeginning.getTimezoneOffset()); dayCounter(); console.log("gameBeginning: ",gameBeginning); console.log("now: ",present_date); // console.log(textResult); function dayCounter(){ dayCount = Math.floor((present_date - gameBeginning) / (1000 * 60 * 60 * 24)); return dayCount; } markCalendar(); function markCalendar() { winCount = 0; loseCount = 0; dates = document.getElementsByClassName('calendar__number'); console.log(dates[10].innerHTML); var tag = []; for (var i = 0; i < dates.length; i++) { if (dates[i].innerHTML==dayCount) { dates[i].classList.add('current'); for (var j = 0; j <= i; j++) { if (localStorage.getItem('day'+(j+1))) { if (localStorage.getItem('day'+(j+1))=='true') { dates[j].classList.add('won'); winCount=winCount + 1; } else if (localStorage.getItem('day'+(j+1))=='false') { dates[j].classList.add('lost'); loseCount=loseCount + 1; } }else { dates[j].classList.add('past'); dates[j] = document.createElement('a'); //dates[j].setAttribute('href','#'); if(localStorage.getItem("playedToday")){ // dates[j].setAttribute('onclick','getArchive(' + (j+1) +')'); // dates[j] = "" + dates[j] + ""; } } // dates[j] = "" + dates[j] + ""; //tag[j].appendChild(dates[j]); //console.log(tag[j]); console.log(dates[j]); } console.log(dates[i]); } } console.log("win:"+ winCount) console.log("lose:"+ loseCount) winPerc.textContent = Math.ceil(winCount/(winCount+loseCount)*100)+"%"; totalPlays.textContent = winCount+loseCount } var points = "⬛⬛⬛" //check if the user played this before firstCheck(); revealButtons(); function firstCheck(){ guessNo = 0; feedback.textContent = "🩸 " + (3-guessNo) + " guesses remaining"; if(!localStorage.getItem('streak')){localStorage.setItem('streak',0)} if(!localStorage.getItem('firstGuessStat')){localStorage.setItem('firstGuessStat',0)} if(!localStorage.getItem('secondGuessStat')){localStorage.setItem('secondGuessStat',0)} if(!localStorage.getItem('thirdGuessStat')){localStorage.setItem('thirdGuessStat',0)} } function clearGuess() { localStorage.removeItem('firstGuess'); localStorage.removeItem('secondGuess'); localStorage.removeItem('guessNo'); localStorage.removeItem('winningGuess'); localStorage.removeItem('lost'); localStorage.removeItem('movieName'); localStorage.removeItem("playedToday"); localStorage.removeItem('result'); document.getElementById("firstGuess").style.display = "none"; document.getElementById("secondGuess").style.display = "none"; document.getElementById("shareResult").style.display = "none"; document.getElementById("guessForm").style.display = "block"; document.getElementById("countDown").style.display = "none" } function checkingGuess() { streakNumber.textContent =localStorage.getItem('streak'); if (localStorage.getItem('day')==dayCount) { playedBefore = true; textResult=localStorage.getItem('result') document.getElementById("movieName").innerHTML = localStorage.getItem('movieName') console.log("played before: ",playedBefore); console.log(localStorage.getItem('firstGuess')); console.log(localStorage.getItem('secondGuess')); if(localStorage.getItem('guessNo')){guessNo=localStorage.getItem('guessNo')}; feedback.textContent = "🩸 " + (3-guessNo) + " guesses remaining"; if(localStorage.getItem('result')) {localStorage.setItem('result', textResult);document.getElementById("resultText").innerHTML =textResult;document.getElementById("movieFrame").style.display = "none";document.getElementsByClassName("resultContainer")[0].style.display="flex";} if(localStorage.getItem('firstGuess')){firstGuess.textContent = "❌ " + localStorage.getItem('firstGuess');document.getElementById("firstGuess").style.display = "block";} if(localStorage.getItem('secondGuess')){secondGuess.textContent = "❌ " + localStorage.getItem('secondGuess');document.getElementById("secondGuess").style.display = "block";} if(localStorage.getItem('winningGuess')||localStorage.getItem('lost')){document.getElementsByClassName("picButtons")[0].style.display="none";revealButtons(2);document.getElementById("feedback").innerHTML = "Next movie will reveal at midnight! 🕛";document.getElementById("shareResult").style.display = "block";document.getElementById("countDown").style.display = "block";document.getElementById("guessForm").style.display = "none";document.getElementById("firstGuess").style.display = "none";document.getElementById("secondGuess").style.display = "none";document.getElementById("resultText").style.display="block";}else {document.getElementById("shareResult").style.display = "none";document.getElementById("guessForm").style.display = "block";document.getElementById("resultText").style.display="none";}; if(localStorage.getItem('lost')){ document.getElementById("congratz").innerHTML = "You lost☠️"; document.getElementsByClassName("resultContainer")[0].style.borderColor = "#C62828";} secondGuess.textContent = "❌ " + localStorage.getItem('secondGuess'); revealButtons(); }else { clearGuess(); localStorage.setItem('day', dayCount); } markCalendar(); } checkingGuess(); window.onload = deathOftheDay(); // console.log(dayCount); function deathOftheDay(x=dayCount){ pix = []; movieOfTheDay = movies[x-1]; for (let i = 1; i < 4; i++) { pix.push("images/"+movieOfTheDay[0]+"/"+i+".png"); preloadImage("images/"+movieOfTheDay[0]+"/"+i+".png"); } // preloadImage("images/"+movieOfTheDay[0]+"/poster.png"); document.getElementById("posterFrame").src = "images/"+movieOfTheDay[0]+"/poster.jpg"; console.log('Movie: ', movieOfTheDay[0]); console.log('Array: ', pix); showPic(); // picButton = document.getElementsByClassName('picButton'); // picButton.setAttribute('onclick','getImage()'); } function showPic(p=guessNo){ // document.getElementById("movieFrame").src = "http://www.deelay.me/3000/https://via.placeholder.com/1920x1080"; document.getElementById("movieFrame").src = pix[p]; buttonNo = p; picButtons = document.getElementsByClassName('imageButton'); for (let i=0; i<3; i++){ picButtons[i].classList.remove('active'); } picButtons[p].classList.add('active'); // for (let i = 0; i < 2; i++) { // const element = array[i]; // } } function submitBonus(b=0){ if (buttonNo==movieOfTheDay[1]&&b==0) { bonusRoundState= true; // document.getElementById("bonusQuestion").style.display="none"; document.getElementById("bonusQuestion").innerHTML = "Survivor: "+ movieOfTheDay[2] + " ⭐"; textResult = textResult + "(⭐)" console.log("you win!") } else if(b==1){ // document.getElementById("bonusQuestion").innerHTML = "Survivor: "+ movieOfTheDay[2]; document.getElementById("congratz").innerHTML = "You lost☠️"; document.getElementsByClassName("resultContainer")[0].style.borderColor = "#C62828"; } else{ console.log('you lose') document.getElementById("bonusQuestion").innerHTML = "Survivor: "+ movieOfTheDay[2]; } document.getElementById("movieFrame").style.display = "none"; document.getElementsByClassName("resultContainer")[0].style.display="flex"; localStorage.setItem('result', textResult); document.getElementById("feedback").style.display = "block"; document.getElementById("feedback").innerHTML = "Next movie at midnight! 🕛
"; document.getElementById("resultText").innerHTML = textResult; document.getElementById("resultText").style.display="block"; document.getElementById("countDown").style.display = "block"; document.getElementById("shareResult").style.display = "block"; document.getElementById("submitBonusGuess").style.display="none"; document.getElementById("skipBonusGuess").style.display="none"; document.getElementsByClassName("picButtons")[0].style.display="none"; showPic(movieOfTheDay[1]) console.log(buttonNo); addData(); } if(!localStorage.getItem('result')){ textResult = "🔪"; }else{ textResult = localStorage.getItem('result'); } function checkGuess() { localStorage.setItem('playedBefore','true'); console.log("day count:" + dayCount); let myGuess = guess if (myGuess === movieOfTheDay[0]) { if(guessNo==0){localStorage.setItem('firstGuessStat',parseInt(localStorage.getItem('firstGuessStat')) + 1);} if(guessNo==1){localStorage.setItem('secondGuessStat',parseInt(localStorage.getItem('secondGuessStat')) + 1);} if(guessNo==2){localStorage.setItem('thirdGuessStat',parseInt(localStorage.getItem('thirdGuessStat')) + 1);} localStorage.setItem('streak',parseInt(localStorage.getItem('streak')) + 1); localStorage.setItem('day'+dayCount,'true'); // document.getElementById("movieFrame").src = "images/"+movieOfTheDay+"/poster.jpg"; // console.log(localStorage.getItem('day'+dayCount)); streakNumber.textContent = localStorage.getItem('streak'); document.getElementById("guessForm").style.display = "none"; document.getElementById("feedback").style.display = "none"; document.getElementById("movieName").innerHTML = movieOfTheDay[0] + " ✅"; localStorage.setItem('movieName', movieOfTheDay[0] + " ✅") // document.getElementById("bonusQuestion").innerHTML = "⭐BONUS ROUND⭐
Can you guess which image contains the survivor?"; document.getElementById("bonusQuestion").innerHTML = "⭐BONUS ROUND⭐
choose the image with the survivor"; document.getElementById("submitBonusGuess").style.display = "inline"; document.getElementById("skipBonusGuess").style.display = "inline"; textResult = textResult + "🟩"; for (var i = 1; i < (3-guessNo); i++) { textResult = textResult + "⬛"; } localStorage.setItem('result', textResult); // document.getElementById("countDown").style.display = "block"; // document.getElementById("shareResult").style.display = "block"; // document.getElementsByClassName("picButtons")[0].classList.add('bonusScreen') tempButton = document.getElementsByClassName("imageButton"); for (let i = 0; i < 3; i++) { tempButton[i].classList.add("bonusScreen"); } document.getElementsByClassName("imageButton")[0].style.fontSize = "32px"; localStorage.setItem("winningGuess", guess); localStorage.setItem("playedToday", "yes"); document.getElementById("firstGuess").style.display = "none"; document.getElementById("secondGuess").style.display = "none"; dates[dayCount-1].classList.add('won'); revealButtons(2); } else if(guessNo==1){ guessNo = guessNo + 1; localStorage.setItem('guessNo', guessNo); feedback.textContent = "🩸 " + (3-guessNo) + " guesses remaining"; document.getElementById("movieFrame").src = pix[guessNo]; firstGuess.textContent = "❌ " + guess; localStorage.setItem('firstGuess', guess); document.getElementById("firstGuess").style.display = "block"; textResult = textResult + "🟥"; localStorage.setItem('result', textResult); revealButtons(); }else if(guessNo<2){ guessNo = guessNo + 1; localStorage.setItem('guessNo', guessNo); feedback.textContent = "🩸 " + (3-guessNo) + " guesses remaining"; document.getElementById("movieFrame").src = pix[guessNo]; secondGuess.textContent = "❌ " + guess; localStorage.setItem('secondGuess', guess); document.getElementById("secondGuess").style.display = "block"; textResult = textResult + "🟥"; localStorage.setItem('result', textResult); revealButtons(); } else{ // guessNo = guessNo + 1; feedback.textContent = "GAME OVER"; // document.getElementById("movieName").innerHTML = movieOfTheDay[0]; textResult = textResult + "🟥"; document.getElementById("guessForm").style.display = "none"; document.getElementById("feedback").style.display = "none"; document.getElementById("firstGuess").style.display = "none"; document.getElementById("secondGuess").style.display = "none"; localStorage.setItem('guessNo', guessNo); localStorage.setItem('streak', 0); localStorage.setItem('day'+dayCount,'false'); localStorage.setItem("lost", "yes"); localStorage.setItem("playedToday", "yes"); dates[dayCount-1].classList.add('lost'); submitBonus(1); } console.log(textResult); document.getElementById("guessForm").reset(); markCalendar(); guess = "Skipped" } const autoCompleteJS = new autoComplete({ placeHolder: "Search for Horror Movies...", // wrapper: false, data: { src: movies.map(movies => movies[0]) }, resultItem: { highlight: true, }, events: { input: { selection: (event) => { const selection = event.detail.selection.value; autoCompleteJS.input.value = selection; }, open() { const position = autoCompleteJS.input.getBoundingClientRect().bottom + autoCompleteJS.list.getBoundingClientRect().height > (window.innerHeight || document.documentElement.clientHeight); if (position) { autoCompleteJS.list.style.bottom = autoCompleteJS.input.offsetHeight + 8 + "px"; } else { // autoCompleteJS.list.style.bottom = -autoCompleteJS.list.offsetHeight - 8 + "px"; } }, } } }); autoCompleteJS.input.addEventListener("selection", function (event) { // guess = "skipped" // event.detail.selection.value = "skipped"; const feedback = event.detail; // Prepare User's Selected Value guess = event.detail.selection.value autoCompleteJS.input.value = guess; // Console log autoComplete data feedback console.log(event.detail.selection.value); checkGuess(); }); function copyToClipboard() { navigator.clipboard.writeText("Horrordle #" + dayCount + "\n"+ textResult).then(() => { shareResult.value = "copied!"; // Alert the user that the action took place. // Nobody likes hidden stuff being done under the hood! }); } function getArchive(j,d = dayCount){ dates[d-1].classList.remove('current'); d = j; dates[j-1].classList.add('current'); deathOftheDay(j); document.getElementById('guess').value = ""; location.href='#'; //window.open("#"); } submitGuess.addEventListener('click', checkGuess) const labels = [ 'First Guess', 'Second Guess', 'Third Guess', ]; const data = { labels: labels, datasets: [{ label: 'Number of guesses', backgroundColor: ['#BB86FC'], fontColor: 'white', color:'white', data: [localStorage.getItem('firstGuessStat'), localStorage.getItem('secondGuessStat'), localStorage.getItem('thirdGuessStat')], }] }; Chart.defaults.color='white' Chart.defaults.borderColor='grey' const config = { type: 'bar', data: data, options: { // maintainAspectRatio: false, scales:{ yAxes:{ ticks:{ stepSize:1 } } } } }; var x = setInterval(function() { // countDownTime.setDate(Math.floor((present_date - gameBeginning) / (1000 * 60 * 60 * 24))+2); dayCounter(); dateVariable = present_date.getDate() countDownTime.setDate(dateVariable+1); countDownTime.setHours(0); countDownTime.setMinutes(0); countDownTime.setSeconds(0); var now = new Date(); // console.log("now: ",now); var remainingTime = countDownTime - now; const second = 1000; const minute = second * 60; const hour = minute * 60; const day = hour * 24; hoursLeft = Math.trunc((remainingTime % day) / hour); minutesLeft = Math.trunc((remainingTime % hour) / minute); secondsLeft = Math.trunc((remainingTime % minute) / second); document.getElementById("countDown").innerHTML = hoursLeft + "h " + minutesLeft + "m " + secondsLeft + "s "; //console.log(remainingTime); // console.log(localStorage.getItem('day')); // console.log("day count: " + dayCount); dayCount = Math.floor((now - gameBeginning) / (1000 * 60 * 60 * 24)); if (localStorage.getItem('day')!=dayCount) { window.location.reload(); } }, 1000); function addData(){ myChart.data.datasets[0].data[0] = localStorage.getItem('firstGuessStat'); myChart.data.datasets[0].data[1] = localStorage.getItem('secondGuessStat'); myChart.data.datasets[0].data[2] = localStorage.getItem('thirdGuessStat'); myChart.update(); } const myChart = new Chart( document.getElementById('myChart'), config ); function preloadImage(url) { var img=new Image(); img.src=url; }; //window.localStorage.clear();