-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
97 lines (80 loc) · 2.98 KB
/
script.js
File metadata and controls
97 lines (80 loc) · 2.98 KB
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
let cardsnumber = parseInt(prompt("Qual o número de cartas? Número par de 4 a 14"));
let win = 0;
let total = 0;
let front;
let card;
let imgs = [
"<img class ='gif disappears' src='imgs/bobrossparrot.gif' alt='papagaio com gorro preto dançante'>",
"<img class ='gif disappears' src='imgs/explodyparrot.gif' alt='papagaio explodindo'>",
"<img class ='gif disappears' src='imgs/fiestaparrot.gif' alt='papagaio mexicano'>",
"<img class ='gif disappears' src='imgs/metalparrot.gif' alt='papagaio roqueiro'>",
"<img class ='gif disappears' src='imgs/revertitparrot.gif' alt='papagaio no barco'>",
"<img class ='gif disappears' src='imgs/tripletsparrot.gif' alt='três papagaios dançantes'>",
"<img class ='gif disappears' src='imgs/unicornparrot.gif' alt='papagaio unicórnio'>"
]
//embaralha array das imagens
imgs.sort(randomSort);
let arraycards = [];
while (cardsnumber % 2 != 0 || cardsnumber > 14 || cardsnumber < 4) {
cardsnumber = parseInt(prompt("Qual o número de cartas? Somente número par entre 4 a 14"));
}
for (let i = 0; i < cardsnumber / 2; i++) {
arraycards.push(`<li onclick="turn(this)"> <img src="imgs/front.png" alt="papagaio da frente da carta">
${imgs[i]} </li>`);
arraycards.push(`<li onclick="turn(this)"> <img src="imgs/front.png" alt="papagaio da frente da carta">
${imgs[i]} </li>`);
arraycards.sort(randomSort);
}
//embaralha
arraycards.sort(randomSort);
for (let i = 0; i < arraycards.length; i++) {
let cards = document.querySelector("ul");
console.log(cards);
console.log(arraycards[i]);
cards.innerHTML += `${arraycards[i]}`;
}
function randomSort() {
return Math.random() - 0.5;
}
let list = [];
function turn(card) {
const front = card.children[0];
front.classList.add('disappears');
const gif = card.children[1];
console.log(gif);
gif.classList.remove('disappears');
gif.classList.add('appears');
list.push(gif);
total += 1
if (list.length == 2) {
test(list[0], list[1]);
list = []
}
}
function test(card1, card2) {
if (card1.src === card2.src) {
card1.removeAttribute('onclick');
win = win + 2;
console.log(win);
setTimeout(game, 1000);
// aguarda 1 segundo e então vira as duas cartas para baixo novamente
} else if (card1.src !== card2.src) {
setTimeout(untap, 1000, card1, card2);
} else {
setTimeout(untap, 1000, card1, card2);
}
}
function game() {
if (win === cardsnumber) {
alert("você venceu em " + total + " jogadas");
}
}
function untap(card1, card2) {
console.log(card1.parentNode)
card1.parentNode.children[0].classList.remove('disappears');
card1.parentNode.children[1].classList.remove('appears');
card1.parentNode.children[1].classList.add('disappears');
card2.parentNode.children[0].classList.remove('disappears');
card2.parentNode.children[1].classList.remove('appears');
card2.parentNode.children[1].classList.add('disappears');
}