-
Notifications
You must be signed in to change notification settings - Fork 0
/
logic.js
119 lines (110 loc) · 3.21 KB
/
logic.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
const ENTRANTS = new Map(
[
["patricia", "Adolfo"],
["martín", "Iria"],
["nacho", "Jaime"],
["adrián", "Ana"],
["juan", "Elena"],
["jon", "Lucía"],
["rubén", "Arancha"],
["sici", "Iñigo"],
["alberto", "Lydia"],
["capa", "Mario"],
["iván", "Sara"],
["marta", "Borja"],
["adolfo", "Patricia"],
["iria", "Martín"],
["jaime", "Nacho"],
["ana", "Adrián"],
["elena", "Juan"],
["lucía", "Jon"],
["arancha", "Rubén"],
["iñigo", "Sici"],
["lydia", "Alberto"],
["mario", "Capa"],
["sara", "Iván"],
["borja", "Marta"],
["álvaro", "Matín"],
["martin", "Iria"],
["adrian", "Ana"],
["ruben", "Arancha"],
["ivan", "Sara"],
["lucia", "Jon"],
["alvaro", "Martín"],
["patri", "Adolfo"],
["adri", "Ana"],
["alber", "Lydia"],
["javi", "Álvaro"],
["adol", "Patricia"]
]
);
const ENTRANTS_AUX = new Map(
[
["pablo", "¿Quién es Pablo?, prueba con personas reales"],
["juanito profundo", "La Laurita"],
["nevado da sousa", "Espero que la Merchi no"],
["nevado di sousa", "Espero que la Merchi no"],
["nevado", "Espero que la Merchi no"],
["lluch", "No tenemos más chicles señora"],
["doctor rayote", "Elmo Cosillas"],
["albaricoque", "Pato"],
["raquel", "Habrá que llamarla"],
["hector", "Poliamor"],
["el pez dorado", "Ojo"],
["pijama", "Mario"],
["yo", "Tú"],
["hola", "Tu puta madre"],
["soma", "No esperes encontrar ulte"],
["mujeres", "Más mujeres"],
["andrea", "¿Quién ha puesto esta canción?"],
["bernie", "Más mujeres"],
["stalin", "El guardián de nuestro camping"]
]
);
const namesElement = document.getElementById("names");
const winnerElement = document.getElementById("winner");
const discoverButton = document.getElementById("discover-button");
const textInput = document.getElementById("text-input");
function randomName() {
const rand = Math.floor(Math.random() * ENTRANTS.size);
const key = Array.from(ENTRANTS.keys())[rand];
const name = ENTRANTS.get(key);
namesElement.innerText = name;
}
function rollClick() {
discoverButton.disabled = true;
textInput.disabled = true;
namesElement.style.display = "block"; // Show names element
winnerElement.style.display = "none"; // Hide winner element
setDeceleratingTimeout(randomName, 10, 30);
setTimeout(() => {
namesElement.style.display = "none"; // Hide names element
winnerElement.style.display = "block"; // Show winner element
discoverButton.disabled = false;
textInput.disabled = false;
const guest = document.getElementById("text-input").value;
var winner = "Nadie quiere a Milhouse :(";
if(ENTRANTS.has(guest.toLowerCase())) {
winner = ENTRANTS.get(guest.toLowerCase());
winnerElement.innerHTML = `<span>Te tienes que casar con...</span><br>${winner}`;
}
else if(ENTRANTS_AUX.has(guest.toLowerCase())) {
winner = ENTRANTS_AUX.get(guest.toLowerCase());
winnerElement.innerHTML = `${winner}`;
}
else {
winnerElement.innerHTML = `${winner}`;
}
}, 4000);
}
function setDeceleratingTimeout(callback, factor, times) {
const internalCallback = ((t, counter) => {
return () => {
if (--t > 0) {
setTimeout(internalCallback, ++counter * factor);
callback();
}
};
})(times, 0);
setTimeout(internalCallback, factor);
}