Widget:520Jeopardy: Difference between revisions

From Doc-Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 8: Line 8:
//<![CDATA[
//<![CDATA[
(function(){
(function(){
var J={s1:0,s2:0,tm:1,done:{},cur:null,tmr:30,ti:null,el:null};
var J={s1:0,s2:0,tm:1,done:{},cur:null,tmr:30,ti:null,el:null,mute:false,actx:null};
var C=[
var C=[
{n:"Cardiovascular",q:[
{n:"Cardiovascular",q:[
Line 53: Line 53:
]}
]}
];
];
var css='<style>#jepApp .jG{font-family:Arial,sans-serif;background:linear-gradient(135deg,rgb(30,58,95),rgb(12,25,41));padding:15px;border-radius:8px;color:white}#jepApp .jG *{margin:0;padding:0;box-sizing:border-box}#jepApp .t{text-align:center;color:rgb(251,191,36);font-size:1.6rem;font-weight:bold;margin-bottom:5px}#jepApp .st{text-align:center;color:rgb(147,197,253);margin-bottom:10px;font-size:.8rem}#jepApp .sb{display:flex;justify-content:center;gap:20px;margin-bottom:8px}#jepApp .tm{background:rgb(30,64,175);padding:8px 15px;border-radius:6px;text-align:center}#jepApp .tm.on{box-shadow:0 0 10px rgb(251,191,36)}#jepApp .tm h3{color:white;font-size:.8rem;margin-bottom:2px}#jepApp .sc{font-size:1.1rem;font-weight:bold}#jepApp .ps{color:rgb(74,222,128)}#jepApp .ng{color:rgb(248,113,113)}#jepApp .tr{text-align:center;color:rgb(251,191,36);font-size:.85rem;margin-bottom:8px}#jepApp .bd{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:10px}#jepApp .ct{background:rgb(30,64,175);color:white;padding:6px 3px;text-align:center;font-weight:bold;font-size:.65rem;border-radius:3px 3px 0 0;min-height:35px;display:flex;align-items:center;justify-content:center}#jepApp .cl{background:rgb(37,99,235);color:rgb(251,191,36);padding:10px 3px;text-align:center;font-size:.9rem;font-weight:bold;border-radius:3px;cursor:pointer;border:none}#jepApp .cl:hover{background:rgb(59,130,246)}#jepApp .cl.dn{background:rgb(30,58,95);color:transparent;cursor:default}#jepApp .bt{text-align:center}#jepApp .rs{background:rgb(220,38,38);color:white;padding:5px 10px;border-radius:3px;font-weight:bold;cursor:pointer;border:none;font-size:.75rem}#jepApp .qv{background:rgb(30,64,175);border-radius:6px;padding:12px;max-width:550px;margin:0 auto}#jepApp .qh{text-align:center;margin-bottom:8px}#jepApp .qc{display:inline-block;background:rgb(251,191,36);color:rgb(30,58,95);padding:3px 10px;border-radius:10px;font-weight:bold;font-size:.75rem}#jepApp .qt{color:rgb(251,191,36);margin-top:4px;font-size:.75rem}#jepApp .ti{text-align:center;margin-bottom:6px}#jepApp .tb{display:inline-block;padding:4px 10px;border-radius:10px;font-size:.9rem;font-weight:bold;background:rgb(251,191,36);color:rgb(30,58,95)}#jepApp .tb.w{background:rgb(220,38,38);color:white}#jepApp .sx{background:rgb(29,78,216);border-radius:4px;padding:8px;margin-bottom:6px}#jepApp .sx h4{color:rgb(251,191,36);font-size:.7rem;margin-bottom:3px}#jepApp .sx p{font-size:.8rem;line-height:1.3}#jepApp .qx{background:rgb(37,99,235);border-radius:4px;padding:8px;margin-bottom:6px}#jepApp .qx h4{color:rgb(251,191,36);font-size:.7rem;margin-bottom:3px}#jepApp .qx p{font-size:.85rem;font-weight:600}#jepApp .ax{background:rgb(22,101,52);border-radius:4px;padding:8px;margin-bottom:6px}#jepApp .ax h4{color:rgb(251,191,36);font-size:.7rem;margin-bottom:3px}#jepApp .ax p{font-size:.8rem;line-height:1.3}#jepApp .qb{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:8px}#jepApp .bn{padding:6px 12px;border-radius:3px;font-weight:bold;cursor:pointer;border:none;font-size:.75rem}#jepApp .rv{background:rgb(251,191,36);color:rgb(30,58,95)}#jepApp .cr{background:rgb(34,197,94);color:white}#jepApp .wr{background:rgb(239,68,68);color:white}#jepApp .ov{text-align:center;padding:15px}#jepApp .ov h1{font-size:1.5rem;color:rgb(251,191,36);margin-bottom:8px}#jepApp .fn{font-size:.9rem;margin-bottom:3px}#jepApp .wn{font-size:1.1rem;color:rgb(251,191,36);font-weight:bold;margin-bottom:12px}</style>';
function initAudio(){
if(!J.actx){try{J.actx=new(window.AudioContext||window.webkitAudioContext)();}catch(e){}}
if(J.actx&&J.actx.state==="suspended"){J.actx.resume();}
}
function tone(f,d,t,v){
if(J.mute||!J.actx)return;
try{
var o=J.actx.createOscillator();
var g=J.actx.createGain();
o.connect(g);
g.connect(J.actx.destination);
o.frequency.value=f;
o.type=t||"sine";
g.gain.value=v||0.3;
g.gain.exponentialRampToValueAtTime(0.01,J.actx.currentTime+d);
o.start();
o.stop(J.actx.currentTime+d);
}catch(e){}
}
function sndSelect(){
initAudio();
tone(523,0.1,"sine",0.2);
setTimeout(function(){tone(659,0.1,"sine",0.2);},50);
setTimeout(function(){tone(784,0.15,"sine",0.2);},100);
}
function sndCorrect(){
initAudio();
var n=[523,659,784,1047];
for(var i=0;i<n.length;i++){
(function(x){setTimeout(function(){tone(n[x],0.2,"sine",0.25);},x*100);})(i);
}
}
function sndWrong(){
initAudio();
tone(200,0.3,"sawtooth",0.15);
setTimeout(function(){tone(150,0.4,"sawtooth",0.15);},150);
}
function sndReveal(){
initAudio();
tone(440,0.1,"triangle",0.2);
setTimeout(function(){tone(554,0.1,"triangle",0.2);},100);
setTimeout(function(){tone(659,0.2,"triangle",0.2);},200);
}
var css='<style>#jepApp .jG{font-family:Arial,sans-serif;background:linear-gradient(135deg,rgb(30,58,95),rgb(12,25,41));padding:15px;border-radius:8px;color:white}#jepApp .jG *{margin:0;padding:0;box-sizing:border-box}#jepApp .t{text-align:center;color:rgb(251,191,36);font-size:1.6rem;font-weight:bold;margin-bottom:5px}#jepApp .st{text-align:center;color:rgb(147,197,253);margin-bottom:10px;font-size:.8rem}#jepApp .sb{display:flex;justify-content:center;gap:20px;margin-bottom:8px}#jepApp .tm{background:rgb(30,64,175);padding:8px 15px;border-radius:6px;text-align:center}#jepApp .tm.on{box-shadow:0 0 10px rgb(251,191,36)}#jepApp .tm h3{color:white;font-size:.8rem;margin-bottom:2px}#jepApp .sc{font-size:1.1rem;font-weight:bold}#jepApp .ps{color:rgb(74,222,128)}#jepApp .ng{color:rgb(248,113,113)}#jepApp .tr{text-align:center;color:rgb(251,191,36);font-size:.85rem;margin-bottom:8px}#jepApp .bd{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:10px}#jepApp .ct{background:rgb(30,64,175);color:white;padding:6px 3px;text-align:center;font-weight:bold;font-size:.65rem;border-radius:3px 3px 0 0;min-height:35px;display:flex;align-items:center;justify-content:center}#jepApp .cl{background:rgb(37,99,235);color:rgb(251,191,36);padding:10px 3px;text-align:center;font-size:.9rem;font-weight:bold;border-radius:3px;cursor:pointer;border:none}#jepApp .cl:hover{background:rgb(59,130,246)}#jepApp .cl.dn{background:rgb(30,58,95);color:transparent;cursor:default}#jepApp .bt{text-align:center}#jepApp .rs{background:rgb(220,38,38);color:white;padding:5px 10px;border-radius:3px;font-weight:bold;cursor:pointer;border:none;font-size:.75rem;margin-right:5px}#jepApp .mt{background:rgb(30,64,175);color:white;padding:5px 10px;border-radius:3px;font-weight:bold;cursor:pointer;border:none;font-size:.9rem}#jepApp .qv{background:rgb(30,64,175);border-radius:6px;padding:12px;max-width:550px;margin:0 auto}#jepApp .qh{text-align:center;margin-bottom:8px}#jepApp .qc{display:inline-block;background:rgb(251,191,36);color:rgb(30,58,95);padding:3px 10px;border-radius:10px;font-weight:bold;font-size:.75rem}#jepApp .qt{color:rgb(251,191,36);margin-top:4px;font-size:.75rem}#jepApp .ti{text-align:center;margin-bottom:6px}#jepApp .tb{display:inline-block;padding:4px 10px;border-radius:10px;font-size:.9rem;font-weight:bold;background:rgb(251,191,36);color:rgb(30,58,95)}#jepApp .tb.w{background:rgb(220,38,38);color:white}#jepApp .sx{background:rgb(29,78,216);border-radius:4px;padding:8px;margin-bottom:6px}#jepApp .sx h4{color:rgb(251,191,36);font-size:.7rem;margin-bottom:3px}#jepApp .sx p{font-size:.8rem;line-height:1.3}#jepApp .qx{background:rgb(37,99,235);border-radius:4px;padding:8px;margin-bottom:6px}#jepApp .qx h4{color:rgb(251,191,36);font-size:.7rem;margin-bottom:3px}#jepApp .qx p{font-size:.85rem;font-weight:600}#jepApp .ax{background:rgb(22,101,52);border-radius:4px;padding:8px;margin-bottom:6px}#jepApp .ax h4{color:rgb(251,191,36);font-size:.7rem;margin-bottom:3px}#jepApp .ax p{font-size:.8rem;line-height:1.3}#jepApp .qb{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:8px}#jepApp .bn{padding:6px 12px;border-radius:3px;font-weight:bold;cursor:pointer;border:none;font-size:.75rem}#jepApp .rv{background:rgb(251,191,36);color:rgb(30,58,95)}#jepApp .cr{background:rgb(34,197,94);color:white}#jepApp .wr{background:rgb(239,68,68);color:white}#jepApp .ov{text-align:center;padding:15px}#jepApp .ov h1{font-size:1.5rem;color:rgb(251,191,36);margin-bottom:8px}#jepApp .fn{font-size:.9rem;margin-bottom:3px}#jepApp .wn{font-size:1.1rem;color:rgb(251,191,36);font-weight:bold;margin-bottom:12px}</style>';
function board(){
function board(){
var h=css+'<div class="jG"><h1 class="t">Nursing Jeopardy</h1><p class="st">NSG 520</p>';
var h=css+'<div class="jG"><h1 class="t">Nursing Jeopardy</h1><p class="st">NSG 520 - Click any tile to start!</p>';
h+='<div class="sb"><div class="tm'+(J.tm===1?' on':'')+'"><h3>Team 1</h3><div class="sc '+(J.s1>=0?'ps':'ng')+'">$'+J.s1+'</div></div>';
h+='<div class="sb"><div class="tm'+(J.tm===1?' on':'')+'"><h3>Team 1</h3><div class="sc '+(J.s1>=0?'ps':'ng')+'">$'+J.s1+'</div></div>';
h+='<div class="tm'+(J.tm===2?' on':'')+'"><h3>Team 2</h3><div class="sc '+(J.s2>=0?'ps':'ng')+'">$'+J.s2+'</div></div></div>';
h+='<div class="tm'+(J.tm===2?' on':'')+'"><h3>Team 2</h3><div class="sc '+(J.s2>=0?'ps':'ng')+'">$'+J.s2+'</div></div></div>';
Line 61: Line 104:
for(var i=0;i<6;i++)h+='<div class="ct">'+C[i].n+'</div>';
for(var i=0;i<6;i++)h+='<div class="ct">'+C[i].n+'</div>';
for(var r=0;r<5;r++)for(var c=0;c<6;c++){var k=c+'-'+r;h+=J.done[k]?'<button class="cl dn"></button>':'<button class="cl" onclick="jepPick('+c+','+r+')">$'+C[c].q[r].p+'</button>';}
for(var r=0;r<5;r++)for(var c=0;c<6;c++){var k=c+'-'+r;h+=J.done[k]?'<button class="cl dn"></button>':'<button class="cl" onclick="jepPick('+c+','+r+')">$'+C[c].q[r].p+'</button>';}
h+='</div><div class="bt"><button class="rs" onclick="jepReset()">Reset</button></div></div>';
h+='</div><div class="bt"><button class="rs" onclick="jepReset()">Reset</button><button class="mt" onclick="jepMute()">'+(J.mute?'🔇':'🔊')+'</button></div></div>';
J.el.innerHTML=h;
J.el.innerHTML=h;
}
}
Line 87: Line 130:
J.el.innerHTML=h;
J.el.innerHTML=h;
}
}
window.jepPick=function(c,r){if(J.done[c+'-'+r])return;J.cur={c:c,r:r};J.tmr=30;clearInterval(J.ti);J.ti=setInterval(function(){J.tmr--;if(J.tmr<=0)clearInterval(J.ti);question();},1000);question();};
window.jepPick=function(c,r){
window.jepReveal=function(){clearInterval(J.ti);answer();};
if(J.done[c+'-'+r])return;
window.jepAns=function(ok){clearInterval(J.ti);var q=C[J.cur.c].q[J.cur.r];if(J.tm===1)J.s1+=ok?q.p:-q.p;else J.s2+=ok?q.p:-q.p;J.done[J.cur.c+'-'+J.cur.r]=true;J.tm=J.tm===1?2:1;J.cur=null;Object.keys(J.done).length===30?gameover():board();};
sndSelect();
window.jepReset=function(){clearInterval(J.ti);J.s1=0;J.s2=0;J.tm=1;J.done={};J.cur=null;J.tmr=30;board();};
J.cur={c:c,r:r};
J.tmr=30;
clearInterval(J.ti);
J.ti=setInterval(function(){J.tmr--;if(J.tmr<=0)clearInterval(J.ti);question();},1000);
question();
};
window.jepReveal=function(){
clearInterval(J.ti);
sndReveal();
answer();
};
window.jepAns=function(ok){
clearInterval(J.ti);
if(ok){sndCorrect();}else{sndWrong();}
var q=C[J.cur.c].q[J.cur.r];
if(J.tm===1)J.s1+=ok?q.p:-q.p;else J.s2+=ok?q.p:-q.p;
J.done[J.cur.c+'-'+J.cur.r]=true;
J.tm=J.tm===1?2:1;
J.cur=null;
Object.keys(J.done).length===30?gameover():board();
};
window.jepReset=function(){
clearInterval(J.ti);
J.s1=0;J.s2=0;J.tm=1;J.done={};J.cur=null;J.tmr=30;
board();
};
window.jepMute=function(){
J.mute=!J.mute;
board();
};
function init(){J.el=document.getElementById("jepApp");if(J.el)board();}
function init(){J.el=document.getElementById("jepApp");if(J.el)board();}
if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",init);}else{init();}
if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",init);}else{init();}

Latest revision as of 01:29, 11 January 2026

Nursing Pharmacology Jeopardy Game for NSG 520

Usage

{{#widget:520Jeapordy}}