'use strict'; /*-------------------- tilesObject ranomizing --------------------*/ /*for (i=23; i>=0; i--){ var randomValue = Math.floor(Math.random() * (i -0+ 1)) + 0, intermedArray = tileArray.splice(randomValue, 1); console.log(intermedArray[0][0]+"; "+intermedArray[0][1]+"; "+i); tileObject['tile_'+i].value = intermedArray[0][0]; tileObject['tile_'+i].picture = intermedArray[0][1]; }*/ let settingsArray = ['hi', 'ja']; let roundArray = []; const card_number_array = [0,1,2,3,4,5]; let stat_correct = 0, stat_wrong =0; let solution_check_array =[0, 0, 0, 0, 0, 0]; let active_round = false; let temp_roundArray; /*let hiraCheck = document.getElementById('hira'), let kataCheck = document.getElementById('kata'); let jaRadio = document.getElementById('ja'), geRadio = document.getElementById('ge');*/ function openSettings(){ let settingsWindow= document.getElementById('settingsWindow'); settingsWindow.style.display ='block'; let hiraCheck = document.getElementById('hira'), kataCheck = document.getElementById('kata'); let jaRadio = document.getElementById('ja'), geRadio = document.getElementById('ge'); switch(settingsArray.join(',')){ case 'hi,ja': hiraCheck.checked = true; kataCheck.checked = false; jaRadio.checked = true; console.log('LOAD SETTINGS: hija'); break; case 'hi,ge': hiraCheck.checked = true; kataCheck.checked = false; geRadio.checked = true; console.log('LOAD SETTINGS: hige'); break; case 'ka,ge': hiraCheck.checked = false; kataCheck.checked = true; geRadio.checked = true; console.log('LOAD SETTINGS: kage'); break; case 'ka,ja': hiraCheck.checked = false; kataCheck.checked = true; jaRadio.checked = true; console.log('LOAD SETTINGS: kaja'); break; case 'al,ge': hiraCheck.checked = true; kataCheck.checked = true; geRadio.checked = true; console.log('LOAD SETTINGS: alge'); break; case 'al,ja': hiraCheck.checked = true; kataCheck.checked = true; jaRadio.checked = true; console.log('LOAD SETTINGS: alja'); break; default: console.log("LOAD SETTINGS: I'm a teepot"); break; } } function closeSettings(){ var settingsWindow= document.getElementById('settingsWindow'); settingsWindow.style.display ='none'; } function saveSettings(){ let hiraCheck = document.getElementById('hira'), kataCheck = document.getElementById('kata'); let jaRadio = document.getElementById('ja'), geRadio = document.getElementById('ge'); switch(hiraCheck.checked+','+kataCheck.checked+','+jaRadio.checked+','+geRadio.checked){ case 'true,false,true,false': settingsArray = ['hi','ja']; console.log('SAVES ETTINGS: hija'); break; case 'true,false,false,true': settingsArray = ['hi','ge']; console.log('SAVE SETTINGS: hige'); break; case 'false,true,false,true': settingsArray = ['ka','ge']; console.log('SAVE SETTINGS: kage'); break; case 'false,true,true,false': settingsArray = ['ka','ja']; console.log('SAVE SETTINGS: kaja'); break; case 'true,true,false,true': settingsArray = ['al','ge']; console.log('SAVE SETTINGS: alge'); break; case 'true,true,true,false': settingsArray = ['al','ja']; console.log('SAVE SETTINGS: alja'); break; default: console.log("SAVE SETTINGS: I'm a teepot"); break; } let settingsWindow= document.getElementById('settingsWindow'); settingsWindow.style.display ='none'; } function newRound(){ let nextCard = document.getElementById('nextCard'); nextCard.style.display = "block"; let roundCompleteWindow = document.getElementById('roundComplete'); roundCompleteWindow.style.display = "none"; for (let i= 0; i < cardObject.Kana.length; i++) { /*console.log(cardObject.Kana[i].Rōmaji); console.log(cardObject.Kana[i][val]);*/ roundArray[i] = []; roundArray[i].push(cardObject.Kana[i].Rōmaji); roundArray[i].push(cardObject.Kana[i].Hiragana); roundArray[i].push(cardObject.Kana[i].Katakana); } stat_correct = 0; stat_wrong = 0; stat_writer(); temp_roundArray =[...roundArray]; newTask(); } function randomValueGenerator(min, max){ return Math.floor(Math.random() * (max - min + 1)) + min; } function newTask(){ let task_value_selector = randomValueGenerator(0, temp_roundArray.length-1); let task_card_value = ""; active_round = true; let random_kana_id = 0; solution_check_array = [0, 0, 0, 0, 0, 0]; for (let i = 0; i <= 5; i++){ let right_card = document.getElementById("solC"+i); right_card.style.backgroundImage=" var(--whiteTransparent)"; right_card.style.border= "3px solid var(--white)"; right_card.children[0].style.color= "var(--anthrazit)"; } console.log(temp_roundArray.length); if (temp_roundArray.length == 1){ let nextCard = document.getElementById('nextCard'); nextCard.style.display = "none"; } console.log("settingsArray: "+settingsArray); switch(settingsArray.join(',')){ case 'hi,ja': task_card_value = temp_roundArray[task_value_selector][1]; newTaskCardGenerator(task_card_value); /*card_val = roundArray[1]*/ console.log('NEW ROUND: hija'); newAnswerCardGenerator(task_value_selector, 0); /*console.log("task_card_value: "+task_value_selector+", task_val: "+task_card_value+", ans_val: "+ roundArray[task_value_selector][0]);*/ break; case 'hi,ge': task_card_value = temp_roundArray[task_value_selector][0]; newTaskCardGenerator(task_card_value); newAnswerCardGenerator(task_value_selector, 1); console.log('NEW ROUND: hige'); break; case 'ka,ge': task_card_value = temp_roundArray[task_value_selector][0]; newTaskCardGenerator(task_card_value); newAnswerCardGenerator(task_value_selector, 2); console.log('NEW ROUND: kage'); break; case 'ka,ja': task_card_value = temp_roundArray[task_value_selector][2]; newTaskCardGenerator(task_card_value); newAnswerCardGenerator(task_value_selector, 0); console.log('NEW ROUND: kaja'); break; case 'al,ge': task_card_value = temp_roundArray[task_value_selector][0]; newTaskCardGenerator(task_card_value); random_kana_id = randomValueGenerator(1, 2); newAnswerCardGenerator(task_value_selector, random_kana_id); console.log('NEW ROUND: alge'); break; case 'al,ja': random_kana_id = randomValueGenerator(1, 2); task_card_value = temp_roundArray[task_value_selector][random_kana_id]; newTaskCardGenerator(task_card_value); newAnswerCardGenerator(task_value_selector, 0); console.log('NEW ROUND: alja'); break; default: console.log("NEW ROUND: I'm a teepot"); break; } } function newTaskCardGenerator(card_val){ let task_card = document.getElementById("taskCard"); task_card.innerHTML = card_val; } function newAnswerCardGenerator(task_id, answer_id){ let temp_number_array = [...card_number_array]; let card_id = randomValueGenerator(0, temp_number_array.length-1); let task_value_selector; let answer_card = document.getElementById("solCard"+temp_number_array[card_id]); answer_card.innerHTML = temp_roundArray[task_id][answer_id]; console.log('sol'+ temp_roundArray[task_id][answer_id]); solution_check_array[temp_number_array[card_id]] = 1; temp_number_array.splice(card_id, 1); /*temp_roundArray.splice(task_id, 1);*/ let used_answer =[task_id]; console.log("used_answ_arr: "+ roundArray.indexOf(temp_roundArray[task_id][answer_id])); for (let i = 0; i < 5; i++){ do { task_value_selector = randomValueGenerator(0, roundArray.length-1); } while ( used_answer.includes(task_value_selector)); used_answer.push(task_value_selector); card_id = randomValueGenerator(0, temp_number_array.length-1); let answer_card = document.getElementById("solCard"+temp_number_array[card_id]); solution_check_array[temp_number_array[card_id]] = 0; temp_number_array.splice(card_id, 1); answer_card.innerHTML = roundArray[task_value_selector][answer_id]; //console.log(solution_check_array); } temp_roundArray.splice(task_id, 1); } function solution_checker(answer_card_id){ /*console.log(answer_card_id);*/ let clicked_card = document.getElementById("solC"+answer_card_id); if (active_round){ switch(solution_check_array[answer_card_id]){ case 1: stat_correct += 1; console.log("right"); clicked_card.style.backgroundImage=" linear-gradient(30deg, var(--GreenTransparent)0%, var(--Green)33%, var(--GreenTransparent)100%)"; clicked_card.style.border= "3px solid var(--Green)"; clicked_card.children[0].style.color= "var(--white)"; active_round =false; break; case 0: /* color marking of the wrong answer*/ stat_wrong += 1; console.log("wrong"); clicked_card.style.backgroundImage=" linear-gradient(30deg, var(--RedTransparent)0%, var(--Red)33%, var(--RedTransparent)100%)"; clicked_card.style.border= "3px solid var(--Red)"; clicked_card.children[0].style.color= "var(--white)"; /*color marking of the right answer*/ let right_card = document.getElementById("solC"+solution_check_array.indexOf(1)); right_card.style.backgroundImage=" linear-gradient(30deg, var(--GreenTransparent)0%, var(--Green)33%, var(--GreenTransparent)100%)"; right_card.style.border= "3px solid var(--Green)"; right_card.children[0].style.color= "var(--white)"; active_round =false; break; default: console.log("Im a teepot"+ solution_check_array[answer_card_id]); } } stat_writer(); if(temp_roundArray.length <= 1){ let roundCompleteWindow = document.getElementById('roundComplete'); roundCompleteWindow.style.display = "block"; } } function stat_writer(){ let stat_viewer = document.getElementById("stats"); stat_viewer.innerHTML="correct: "+stat_correct+" / "+stat_wrong+" :wrong"; }