86 lines
No EOL
3.1 KiB
JavaScript
86 lines
No EOL
3.1 KiB
JavaScript
// @license magnet:?xt=urn:btih:5305d91886084f776adcf57509a648432709a7c7&dn=x11.txt X11 License
|
|
|
|
// checking the source code is cheating and now your score is null and void >:c
|
|
|
|
var questions = {
|
|
"have never broken a bone": false,
|
|
"like Banjo Kazooie: Nuts & Bolts": true,
|
|
"tell people who say \"Linux\" that it's actually \"GNU/Linux\"": false,
|
|
"have never broken a bone": false,
|
|
"joined the Fediverse in August 2018": true,
|
|
"have a habit of buying domain names that I never use": true,
|
|
"have mixed up the phrases \"Middle Earth\" and \"Middle East\" several times": true,
|
|
"am lactose intolerant": true,
|
|
"have never seen a rabbit in real life": true,
|
|
"have never seen a sheep in real life": false,
|
|
"chew my nails": true,
|
|
"am the only person on fedi.lynnesbian.space": false,
|
|
"often mix up my lefts and rights": true,
|
|
"main Isabelle in Smash Ultimate": false,
|
|
"main Mii Swordfighter in Smash Ultimate": true,
|
|
"have accidentally stolen a library book before": true,
|
|
"am allergic to gluten": true,
|
|
"can draw The Cool S": false,
|
|
"have written several games for the TI-84+ calculator": true, // https://git.bune.city/lynnesbian/ti-basic
|
|
"can play the trumpet": true,
|
|
"can play the ukelele": false,
|
|
"never have to look at the keyboard when typing": false,
|
|
"have never owned an Apple device": false,
|
|
"have never used FaceBook": false,
|
|
"do not particularly care for the way LibreJS requires you to annotate your JavaScript files": true,
|
|
"have walked into a tree while reading a book": true,
|
|
"have walked into a tree while using my phone": false,
|
|
"live and die by vim": false,
|
|
"live and die by emacs": false,
|
|
"have a truck driver's license": false,
|
|
}
|
|
|
|
var ranks = [
|
|
"The AntiLynne",
|
|
"Poop martial",
|
|
"Twitter crossposter",
|
|
"Fake gamer",
|
|
"CLASS D LICENSE",
|
|
"Coin flipper",
|
|
"Much to learn",
|
|
"Lucky number sevlynne",
|
|
"Long leggy creacher",
|
|
"The Seer",
|
|
"Gosh Amongst Mortals" // unless you read the JS, in which case you are a poop martial
|
|
]
|
|
var score = 0;
|
|
var answered = 0;
|
|
var ready = false;
|
|
var current = null;
|
|
|
|
function next_question(butotn) {
|
|
let correct = null;
|
|
let gamediv = dgel('quiz');
|
|
if (!ready) {
|
|
ready = true;
|
|
} else {
|
|
correct = butotn.classList.contains("true") == questions[current]
|
|
if (correct) { score++; }
|
|
answered++;
|
|
}
|
|
|
|
delete questions[current];
|
|
|
|
if (answered < 10) {
|
|
// https://stackoverflow.com/a/15106541
|
|
var qkeys = Object.keys(questions);
|
|
current = qkeys[qkeys.length * Math.random() << 0];
|
|
|
|
gamediv.innerHTML = `<div class='quiz-popup ${correct}'></div><h2>Question ${answered + 1}</h2><p>True or false: I ${current}.</p><div id='quiz-buttons'><button class='true' onclick='next_question(this)'>True</button><button class='false' onclick='next_question(this)'>False</button></div>`;
|
|
} else {
|
|
gamediv.innerHTML = `<div class='quiz-popup ${correct}'></div><h2>Finish!</h2><p>You got ${score} points, earning you the rank of "${ranks[score]}"! Thanks for playing!</p><a class='button' onclick='window.location=window.location'>Play again</a>`;
|
|
}
|
|
}
|
|
|
|
window.addEventListener('DOMContentLoaded', (event) => {
|
|
dgel('quiz-questions').innerHTML = Object.keys(questions).length;
|
|
|
|
dgel('quiz-start').onclick = next_question;
|
|
});
|
|
|
|
// @license-end
|