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