clochard.l
3 years ago
4 changed files with 301 additions and 12 deletions
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 83 KiB |
@ -0,0 +1,130 @@ |
|||
//let machine_sous = new Object();
|
|||
let argent = 100 |
|||
let nombres = [] |
|||
let bank = 1000 |
|||
let mise |
|||
let gains = 0 |
|||
|
|||
function saisie(){ |
|||
if (argent>0){ |
|||
mise = document.getElementById("mise").value; |
|||
bank+=Number(mise); |
|||
argent-=Number(mise); |
|||
gain(nombres); |
|||
} |
|||
else{ |
|||
console.log("PLUS DE SOUS") |
|||
} |
|||
} |
|||
|
|||
function gain(nb){ |
|||
if (nb[1]==nb[2] && nb[2]==nb[3] && nb[3]==9) { |
|||
argent+=bank; |
|||
bank-=bank; |
|||
gains+=bank; |
|||
console.log("Bingo"); |
|||
} |
|||
|
|||
else if(nb[1]==nb[2] && nb[2]==nb[3]){ |
|||
argent+=6*Number(mise); |
|||
bank-=6*Number(mise); |
|||
gains+=6*Number(mise); |
|||
console.log("trois égaux"); |
|||
} |
|||
|
|||
else if(nb[1]==nb[2]||nb[2]==nb[3]||nb[3]==nb[1]){ |
|||
argent+=3*Number(mise); |
|||
bank-=3*Number(mise); |
|||
gains+=3*Number(mise); |
|||
console.log("deux égaux"); |
|||
} |
|||
|
|||
else{ |
|||
console.log("aucun égaux"); |
|||
} |
|||
affiche(); |
|||
} |
|||
|
|||
function affiche(){ |
|||
console.log('Vous avez gagné %d jetons', gains); |
|||
console.log('\nIl vous reste %d jetons, et il reste %d jetons dans le bac de la machine.\n', argent, bank); |
|||
gains=0; |
|||
} |
|||
|
|||
|
|||
const items = [ |
|||
"1", |
|||
"2", |
|||
"3", |
|||
"4", |
|||
"5", |
|||
"6", |
|||
"7", |
|||
"8", |
|||
"9", |
|||
]; |
|||
|
|||
const doors = document.querySelectorAll(".door"); |
|||
document.querySelector("#spinner").addEventListener("click", spin); |
|||
//document.querySelector("#reseter").addEventListener("click", init);
|
|||
|
|||
async function spin() { |
|||
init(false, 1, 2); |
|||
if(argent>0){ |
|||
for (const door of doors) { |
|||
const boxes = door.querySelector(".boxes"); |
|||
const duration = parseInt(boxes.style.transitionDuration); |
|||
boxes.style.transform = "translateY(0)"; |
|||
await new Promise((resolve) => setTimeout(resolve, duration * 100)); |
|||
} |
|||
} |
|||
} |
|||
function init(firstInit, groups, duration) { |
|||
for (const door of doors) { |
|||
const boxes = door.querySelector(".boxes"); |
|||
const boxesClone = boxes.cloneNode(false); |
|||
const pool = ["?"]; |
|||
if (!firstInit) { |
|||
const arr = []; |
|||
for (let n = 0; n < (groups > 0 ? groups : 1); n++) { |
|||
arr.push(...items); |
|||
} |
|||
pool.push(...shuffle(arr)); |
|||
boxesClone.addEventListener( |
|||
"transitionend", |
|||
function () { |
|||
this.querySelectorAll(".box").forEach((box, index) => { |
|||
box.style.filter = "blur(0)"; |
|||
if (index > 0) this.removeChild(box); |
|||
}); |
|||
}, |
|||
); |
|||
} |
|||
for (let i = pool.length - 1; i >= 0; i--) { |
|||
const box = document.createElement("div"); |
|||
box.classList.add("box"); |
|||
box.style.height = door.clientHeight + "px"; |
|||
box.textContent = pool[i]; |
|||
boxesClone.appendChild(box); |
|||
} |
|||
boxesClone.style.transitionDuration = `${duration > 0 ? duration : 1}s`; |
|||
boxesClone.style.transform = `translateY(-${door.clientHeight * (pool.length - 1)}px)`; |
|||
door.replaceChild(boxesClone, boxes); |
|||
nombres.push(pool[9]); |
|||
} |
|||
console.log(nombres); |
|||
saisie() |
|||
nombres = []; |
|||
document.getElementById("bank_val").innerHTML=bank; |
|||
document.getElementById("argent_val").innerHTML=argent; |
|||
} |
|||
function shuffle([...arr]) { |
|||
let m = arr.length; |
|||
while (m) { |
|||
const i = Math.floor(Math.random() * m--); |
|||
[arr[m], arr[i]] = [arr[i], arr[m]]; |
|||
} |
|||
return arr; |
|||
} |
|||
|
|||
|
Loading…
Reference in new issue