//1 minutes = 60 seconds converted to milliseconds var total_gamelength = 60 * 1000 var current_gamestart = 0 var sound_playing = false registerAction('Randomise_starters', '', 'Randomise starters', 'component:button:button,component:feed:feed_item_view,string:theme:Food'); function Randomise_starters(comp,feed,theme){ var sorted_list = new Array() var shuffled_list = new Array() var scores_list = new Array() //this applies the filter on the theme column of the data var data = JSON.parse(getProperty(feed,"json")) var data_filtered = data.filter(function (e) { return e.theme == theme; }); //make a list of items in the feedlist var list_length = data_filtered.length for (step = 0; step < list_length; step++) { sorted_list[step] = data_filtered[step]["idx"] } shuffled_list = sorted_list for (step = 0; step <= 100; step++) { //pick out two random cards out of the deck var pick_card1 = Math.floor(Math.random() * list_length); var pick_card2 = Math.floor(Math.random() * list_length); //remember the first card var temp = shuffled_list[pick_card1] //update the first card shuffled_list[pick_card1] = shuffled_list[pick_card2] //now set the second card = to our remembered first card shuffled_list[pick_card2] = temp } setData(comp,"start_card", 0) setData(comp,"shuffled_list",JSON.stringify(shuffled_list)) setData(comp,"scores_list",JSON.stringify(scores_list)) current_gamestart = getGlobal("uptime") sound_playing = false } registerAction('Next_Card', '', 'Next card', 'component:button:button,component:feed:feed_item_view'); function Next_Card(comp,feed){ // you got it correct!!!! var dt = getData(comp,"shuffled_list") var shuffled_list = JSON.parse(dt) var start_card = Number(getData(comp,"start_card")) var view_id = getProperty(feed,'unique_id') callAction("set_feed_item", view_id, "0", "custom_index", shuffled_list[start_card]) //update scores_list var dt = getData(comp,"scores_list") var scores_list = JSON.parse(dt) scores_list[start_card-1] = 1 setData(comp,"scores_list",JSON.stringify(scores_list)) //pick next card start_card++ setData(comp, "start_card",start_card) } registerAction('Pass_Card', '', 'Pass card', 'component:button:button,component:feed:feed_item_view'); function Pass_Card(comp,feed){ // you passed!!! var dt = getData(comp,"shuffled_list") var shuffled_list = JSON.parse(dt) var start_card = Number(getData(comp,"start_card")) var view_id = getProperty(feed,'unique_id') callAction("set_feed_item", view_id, "0", "custom_index", shuffled_list[start_card]) //update scores_list var dt = getData(comp,"scores_list") var scores_list = JSON.parse(dt) scores_list[start_card-1] = 0 setData(comp,"scores_list",JSON.stringify(scores_list)) //pick next card start_card++ setData(comp, "start_card",start_card) } registerAction('Update_timer', '', 'Update Timer', 'component:custom:custom'); function Update_timer(comp){ //update the progress bar with the milliseconds since we started versus the total game length current_gamelength = Number(getGlobal("uptime")) - current_gamestart progressBar_update(comp, current_gamelength, total_gamelength) //check if we are ready to play 7 second countdown.. if (current_gamelength>total_gamelength-7000 && sound_playing == false){ callAction("play_sound","countdown_7_seconds.mp3",0,1) sound_playing = true } //check if we hit the end of the game time if (current_gamelength>total_gamelength){ //change page callAction("show_page_by_name","timesUP",3); //play end of round sound callAction("play_sound","success7.mp3",0,1); } } registerFeed('times_up_feed', 'times_up_feed', ''); function times_up_feed(feed) { //var samplelist = '[{"starter":"Iron Man","image":"tick.png"},{"starter":"Hulk","image":"tick.png"}]' var comp2 = findComponent('game', 'button', 'main_button'); var feedlist = findComponent('game', 'feed_item_view', 'feeditemview'); var data = JSON.parse(getProperty(feedlist,"json")) var dt = getData(comp2,"shuffled_list") var shuffled_list = JSON.parse(dt) var start_card = Number(getData(comp2,"start_card")) //var view_id = getProperty(feed,'unique_id') //callAction("set_feed_item", view_id, "0", "custom_index", shuffled_list[start_card]) //update scores_list var dt = getData(comp2,"scores_list") var scores_list = JSON.parse(dt) var count = 0 var score = 0 var samplelist = "[{" for (step = 0; step < scores_list.length; step++) { var index = shuffled_list[step] var name = data[index].starters samplelist = samplelist + '"starter":"' + name + '","image":"' count++ if (scores_list[step] == 1){ samplelist = samplelist + 'tick.png"},{' score++ }else{ samplelist = samplelist + 'cross.png"},{' } } samplelist = samplelist.substr(0,samplelist.length-3) + "}]" setCustomFeed(feed,samplelist) //update score var scoretext = findComponent('timesUP', 'text', 'Score'); setProperty(scoretext,"text","Score " + score + " Pass " + (count-score)) }