").addClass("wordMode"); } setTimeout(function() { toggleMeInFade(".cover-me-pic") }, 100); }, 500); } function nextWord() { throwAllTiles(); //console..log (gameOver || picRevealed) var loadDelay = ((gameOver || picRevealed) ? 300 : 700); gameOver = false; picRevealed = false; setTimeout(function() { // minimize font size to prevent shrink down toggleMeOut(".answer-box"); buildCoverBoxes(numOfCovers, ".cover-me-pic"); // loadNewWord(); moveCovers(); updateSizes(); setTimeout(function() { toggleMeInFade(".cover-me-pic") }, 100); jQuery(".pic-count").html('Word
' + (currentWordCount) + ' of ' + numOfQuestions); }, loadDelay); } function buildImagesAndPreload(arr) { var preImgFiles = []; for (var k = 0; k
`; boxCount++; } //console..log(docFrag); jQuery(loc).append(docFrag); } function moveCovers(covNum = numOfCovers) { var coverWordsAdj = coverWords.slice(0); while (coverWordsAdj.length 25 || !tileLabelLetters) { toggleMeIn(".start-num-box"); for (var k = 0; k 1) { tileNum = getRandomInt(0, jQuery(".pic-cover").length - 1); throwTile(jQuery(".pic-cover").eq(tileNum).attr("tilenum")); } else if (jQuery(".pic-cover").length == 1) { throwTile(jQuery(".pic-cover").eq(0).attr("tilenum")); picRevealed = true; showAnswerBox(); } else { picRevealed = true; return } } function showAnswerBox() { jQuery(".answer-box-text").html(dispWord); setTimeout(function() { toggleMeInFade(".answer-box"); }, 300); } function throwAllTiles() { jQuery(".pic-cover").each(function() { var star = jQuery(this).attr("tilenum"); throwTile(star); }); showAnswerBox(); } function throwTile(num) { var randTime = getRandomInt(50, 300); var randSpeed = getRandomInt(0, 20) / 10; var randTop = getRandomInt(500, 1000) * (getRandomInt(1, 2) == 1 ? -1 : 1); var randLeft = getRandomInt(500, 1000) * (getRandomInt(1, 2) == 1 ? -1 : 1); setTimeout(function() { jQuery(".pic-cover" + num).addClass("spinPetsToBox").animate({ left: randLeft, top: randTop }) }, randTime); setTimeout(function() { jQuery(".pic-cover" + num).remove() }, randTime + 200); } function preloadGameAudio(arr) { var allSounds = []; for (var i = 0; i 0; i--) { j = Math.floor(Math.random() * i); k = arr[i]; arr[i] = arr[j]; arr[j] = k; } return arr; // Return shuffled string } function ABCEEncode(word) { ///////console..log(word); var encoded = ""; var jump = 1; for (var i = 0; i /g, '').replace(/[^a-z0-9A-Z]/g, '').toLowerCase(); dispWord = word.substring(0, word.length - 3); } else if (p1 == word.length) { dispWord = word; picWord = dispWord.replace(/[^a-z0-9A-Z]/g, '').toLowerCase(); audWord = dispWord.replace(/
/g, '').replace(/[^a-z0-9A-Z]/g, '').toLowerCase(); } else if (p2 == word.length) { dispWord = word.substring(0, p1); picWord = word.substring(p1 + 1, word.length).replace(/[^a-z0-9A-Z-_]/g, '').toLowerCase(); audWord = dispWord.replace(/
/g, '').replace(/[^a-z0-9A-Z]/g, '').toLowerCase(); } else if (p1 + 1 == p2) { dispWord = word.substring(0, p1); picWord = dispWord.replace(/[^a-z0-9A-Z]/g, '').toLowerCase(); audWord = word.substring(p2 + 1, word.length).replace(/
/g, '').replace(/[^a-z0-9A-Z-_]/g, '').toLowerCase(); } else { dispWord = word.substring(0, p1); picWord = word.substring(p1 + 1, p2).replace(/[^a-z0-9A-Z-_]/g, '').toLowerCase(); audWord = word.substring(p2 + 1, word.length).replace(/
/g, '').replace(/[^a-z0-9A-Z-_]/g, '').toLowerCase(); } return { dispWord, picWord, audWord, sw }; } function killStartEndSpace(word) { var newWord = word; while (newWord[0] == " ") { newWord = newWord.substring(1, newWord.length); } while (newWord[newWord.length - 1] == " ") { newWord = newWord.substring(0, newWord.length - 1); } return newWord; } function prepWordForFileName(word) { var newAudioFileName = word.replace(/[^a-z0-9A-Z~]/g, ''); return newAudioFileName.toLowerCase(); } function getPos(str, subStr, i) { return str.split(subStr, i).join(subStr).length; } function checkIfSW(word) { var undPos = getPos(word, "_", 1); var checkSW = word.substring(undPos + 1); return (checkSW.toLowerCase() == "sw"); } function toggleMeIn(idName) { jQuery(idName).removeClass('cantTouch'); jQuery(idName).removeClass('cantSee'); } function toggleMeOut(idName) { jQuery(idName).addClass('cantSee'); jQuery(idName).addClass('cantTouch'); } function toggleMeInFade(idName) { jQuery(idName).removeClass('cantTouch'); setTimeout(function() { jQuery(idName).removeClass('cantSee'); }, 200); } function toggleMeOutFade(idName) { jQuery(idName).addClass('cantSee'); setTimeout(function() { jQuery(idName).addClass('cantTouch'); }, 200); } //audio function preloadsounds(fileList, output) { if (isMac) { return } // we start preloading all the audio files with html audio for (var i in fileList) { preloadAudio(fileList[i], i, output); } } var audioFiles = []; var gameAudio = []; var effectsAudio = []; var currentAudio; //index of gameAudio currently playing function preloadAudio(url, NUM, outputSet) { ////console..log("trying to preload "+ url); outputSet[NUM] = new Audio(); // once this file loads, it will call loadedAudio() // the file will be kept by the browser as cache outputSet[NUM].addEventListener('canplaythrough', loadedAudio, false); outputSet[NUM].addEventListener('error', function failed(e) { //console..log("COULD NOT LOAD AUDIO"); jQuery("#NETWORKERROR").show(); }); outputSet[NUM].src = url; outputSet[NUM].load(); // add this line // //console..log(NUM, outputSet[NUM].src); } var loaded = 0; function loadedAudio() { // this will be called every time an audio file is loaded // we keep track of the loaded files vs the requested files loaded++; ////console..log(loaded + " audio files loaded!"); if (loaded == audioFiles.length) { // all have loaded //alert("next step"); } } var oneWord = new Audio(); var soundEffect = new Audio(); var macWord = new Audio(); interact('.single-word').on('down', function(event) { var ansAud = chopWord(thisRoundAns).audWord; playWord(ansAud); }); function playWord(filename) { var currentWordMP3; if (checkIfSW(currentWordOriginal)) { filename = audioWord; currentWordMP3 = 'https://www.bingobongokids.com/wp-content/uploads/ari_tutorials/bbtt/mp3/sw-' + filename + '.mp3'; } else if (filename.substring(0, 4) == "let-") { currentWordMP3 = 'https://www.abc-chomp.com/wp-content/uploads/letsound/' + filename.substring(4) + '.mp3'; } else { filename = ABCEEncode(filename.toLowerCase()); currentWordMP3 = 'https://www.bingobongokids.com/wp-content/uploads/ari_tutorials/bbtt/gmimgaud/' + filename + '.mp3'; } // var wordHint = new Audio(currentWordMP3); oneWord.src = currentWordMP3; oneWord.loop = false; // //console..log("playme") oneWord.play(); } var wrongWord = new Audio(); wrongWord.src = "https://www.bingobongokids.com/wp-content/uploads/ari_tutorials/akr_moved/gamesound/wronganswer.mp3"; var rightWord = new Audio(); rightWord.src = "https://www.bingobongokids.com/wp-content/uploads/ari_tutorials/akr_moved/gamesound/correctanswer.mp3"; function playWrongWord(word) { oneWord.pause(); wrongWord.pause(); oneWord.currentTime = 0; wrongWord.currentTime = 0; function playBadWord() { //console..log("listening"); playWord(word); wrongWord.removeEventListener('ended', playBadWord); } wrongWord.play(); wrongWord.addEventListener('ended', playBadWord); } function playRightWord(word) { oneWord.pause(); wrongWord.pause(); oneWord.currentTime = 0; function playGoodWord() { //console..log("listening"); playWord(word); rightWord.removeEventListener('ended', playGoodWord); } rightWord.play(); rightWord.addEventListener('ended', playGoodWord); } function playCheers() { soundEffect.src = "https://www.bingobongokids.com/wp-content/uploads/ari_tutorials/bbtt/mp3/effect_cheering.mp3"; soundEffect.play(); } function playSplat() { soundEffect.src = "https://www.bingobongokids.com/wp-content/uploads/ari_tutorials/bbtt/mp3/effect_splat.mp3"; soundEffect.play(); } // end audio stuff function toggleMeInOutFade(idName) { if (jQuery(idName).hasClass('cantSee') || jQuery(idName).hasClass('cantTouch')) { jQuery(idName).removeClass('cantTouch'); setTimeout(function() { jQuery(idName).removeClass('cantSee'); }, 200); } else { jQuery(idName).addClass('cantSee'); setTimeout(function() { jQuery(idName).addClass('cantTouch'); }, 200); } } function toggleMeInFade(idName) { jQuery(idName).removeClass('cantTouch'); setTimeout(function() { jQuery(idName).removeClass('cantSee'); }, 200); } function toggleMeOutFade(idName) { jQuery(idName).addClass('cantSee'); setTimeout(function() { jQuery(idName).addClass('cantTouch'); }, 200); } function tempToggleMeInFade(idName) { jQuery(idName).removeClass('cantTouchTemp'); jQuery(idName).removeClass('cantSeeTemp'); } function tempToggleMeOutFade(idName) { jQuery(idName).addClass('cantSeeTemp'); setTimeout(function() { jQuery(idName).addClass('cantTouchTemp'); }, 200); } //options control jQuery(document).on('change', '.dim-changer', function() { coverDim = parseInt(jQuery(this).val()); numOfCovers = coverDim * coverDim; if (numOfCovers > 25 && tileLabelLetters) { alert("Letters can only be used with 25 or fewer square."); tileLabelLetters = false; jQuery("#coverdisp").val("num"); } jQuery("#quiz-box-outer").attr('class', 'mode' + 10); redrawCurrentState(); }); jQuery(document).on('change', '.lowbound-changer', function() { startingBound = parseInt(jQuery(this).val()); redrawCovers(); }); jQuery(document).on('change', '.range-changer', function() { numRange = parseInt(jQuery(this).val()); redrawCovers(); }); jQuery(document).on('change', '.cover-changer', function() { if (jQuery(this).val() == "num") { tileLabelLetters = false; } else { tileLabelLetters = true; } if (jQuery(this).val() == "cvc") { cvcMode = true; cvceMode = false; swMode = false; } if (jQuery(this).val() == "cvce") { cvcMode = false; cvceMode = true; swMode = false; } if (jQuery(this).val() == "sw") { cvcMode = false; cvceMode = false; swMode = true; } if (jQuery(this).val() == "upper" || jQuery(this).val() == "lower") { cvcMode = false; cvceMode = false; swMode = false; } uppercaseMode = (jQuery(this).val() == "upper"); if (numOfCovers > 25 && tileLabelLetters) { alert("Letters can only be used with 25 or fewer square."); tileLabelLetters = false; jQuery("#coverdisp").val("num"); } redrawCovers(); }); var clipboard = new Clipboard('.cpybtn'); clipboard.on('success', function(e) { // popupMessage("Copied to clipboard",2000,"orange"); //console.info('Action:', e.action); //console.info('Text:', e.text); jQuery(".pop-mess").html(e.trigger.title + " copied!"); toggleMeIn(".pop-mess"); setTimeout(function() { toggleMeOutFade(".pop-mess"); }, 1000); //console.info('Trigger:', e.trigger.title); e.clearSelection(); }); clipboard.on('error', function(e) { //popupMessage("Error copying to clipboard",2000,"red"); //console.error('Action:', e.action); //console.error('Trigger:', e.trigger); }); //