140 lines
3.9 KiB
JavaScript
140 lines
3.9 KiB
JavaScript
var cimek = [
|
|
"A walesi bárdok",
|
|
"Ágnes asszony",
|
|
"Az örök zsidó",
|
|
"Híd-avatás",
|
|
"Szondi két apródja",
|
|
"Tengerihántás",
|
|
"Tetemre hívás",
|
|
"V. László",
|
|
"Vörös Rébék"
|
|
];
|
|
|
|
var balladak = [];
|
|
|
|
function init() {
|
|
for (var i = 0; i < 4; i++) {
|
|
let btn = document.createElement("input");
|
|
btn.type = "button";
|
|
btn.id = "btn" + i;
|
|
btn.setAttribute("onclick", "answer(" + i + ")");
|
|
document.getElementById("answers").appendChild(btn);
|
|
}
|
|
loadBallada(0);
|
|
|
|
}
|
|
|
|
function loadBallada(index) {
|
|
if (index < cimek.length) {
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
let vers = this.responseText.split("\r\n");
|
|
buildBallada(vers, index);
|
|
index++;
|
|
loadBallada(index);
|
|
}
|
|
};
|
|
xhttp.open("GET", "balladák/" + cimek[index] + ".txt", true);
|
|
xhttp.send();
|
|
}
|
|
}
|
|
|
|
function buildBallada(vers, i) {
|
|
let versszak = 0;
|
|
for (var j = 0; j < vers.length; j++) {
|
|
if (vers[j] == "") {
|
|
versszak++;
|
|
}
|
|
}
|
|
let sorok = 0;
|
|
balladak[i] = new Array(versszak);
|
|
for (var vsz = 0; vsz < versszak; vsz++) {
|
|
balladak[i][vsz] = new Array(vers.indexOf(""));
|
|
for (var sor = 0; sor < balladak[i][vsz].length; sor++) {
|
|
// console.log(sor + " " + sorok);
|
|
balladak[i][vsz][sor] = vers[sorok];
|
|
sorok++;
|
|
}
|
|
sorok++;
|
|
}
|
|
}
|
|
|
|
function start() {
|
|
console.log("started");
|
|
document.getElementById("mainmenu").hidden = true;
|
|
document.getElementById("game").hidden = false;
|
|
document.getElementById("newgame").hidden = true;
|
|
document.getElementById("pont").innerHTML = "Pontok: 0";
|
|
round = 0;
|
|
score = 0;
|
|
nextRound();
|
|
}
|
|
|
|
var ballada, versszak;
|
|
var correctBallada;
|
|
var nums = [];
|
|
var round = 0;
|
|
var helped = false;
|
|
var score = 0;
|
|
|
|
function nextRound() {
|
|
round++;
|
|
document.getElementById("help").disabled = false;
|
|
document.getElementById("help").value = "Segítség";
|
|
document.getElementById("help").setAttribute("onclick", "help()");
|
|
helped = false;
|
|
for (var i = 0; i < 4; i++) {
|
|
document.getElementById("btn" + i).style = "";
|
|
document.getElementById("btn" + i).disabled = false;
|
|
}
|
|
document.getElementById("feladat").innerHTML = round + ". kör"
|
|
ballada = Math.floor(Math.random() * balladak.length);
|
|
versszak = Math.floor(Math.random() * balladak[ballada].length);
|
|
document.getElementById("resz").innerHTML = balladak[ballada][versszak][0] + "<br>" + balladak[ballada][versszak][1];
|
|
correctBallada = Math.floor(Math.random() * 4);
|
|
for (var i = 0; i < cimek.length; i++) {
|
|
nums[i] = i;
|
|
}
|
|
writeAnswer(0, correctBallada, ballada);
|
|
}
|
|
|
|
function writeAnswer(a, b, i) {
|
|
if (a < 4) {
|
|
document.getElementById("btn" + (b % 4)).value = cimek[i];
|
|
nums.splice(nums.indexOf(i), 1);
|
|
// console.log((b % 4) + " " + i);
|
|
// console.log(nums);
|
|
a++;
|
|
b++;
|
|
writeAnswer(a, b, nums[Math.floor(Math.random() * nums.length)]);
|
|
}
|
|
}
|
|
|
|
function answer(answ) {
|
|
if (answ == correctBallada) {
|
|
score = helped ? score + 0.5 : score + 1;
|
|
}
|
|
else {
|
|
document.getElementById("btn" + answ).style.backgroundColor = "red";
|
|
}
|
|
document.getElementById("btn" + correctBallada).style.backgroundColor = "lime";
|
|
document.getElementById("pont").innerHTML = "Pontok: " + score;
|
|
document.getElementById("help").value = round < 10 ? "Következő" : "Végtelen";
|
|
document.getElementById("help").setAttribute("onclick", "nextRound()");
|
|
document.getElementById("help").disabled = false;
|
|
for (var i = 0; i < 4; i++) {
|
|
document.getElementById("btn" + i).disabled = true;
|
|
}
|
|
if (round == 10) {
|
|
alert("Elért pontszám: " + score + "/10");
|
|
document.getElementById("newgame").hidden = false;
|
|
}
|
|
}
|
|
|
|
function help() {
|
|
helped = true;
|
|
document.getElementById("resz").innerHTML = balladak[ballada][versszak].join("<br>");
|
|
document.getElementById("help").disabled = true;
|
|
}
|