🎓 Jogo da Memória
Encontre a imagem correspondente à palavra.
const palavras=[
{ id:1, texto:"Casa", imagem:"imagens/casa.jpeg", audio:"audio/casa.mp3" },
{ id:2, texto:"Shopping", imagem:"imagens/shopping.jpeg", audio:"audio/gato.mp3" },
{ id:3, texto:"Praia", imagem:"imagens/praia.jpeg", audio:"audio/cachorro.mp3" },
{ id:4, texto:"Água", imagem:"imagens/agua.jpg", audio:"audio/agua.mp3" }
];
let cartas=[];
palavras.forEach(item=>{
cartas.push({
id:item.id,
tipo:"texto",
conteudo:item.texto,
audio:item.audio
});
cartas.push({
id:item.id,
tipo:"imagem",
conteudo:item.imagem,
audio:item.audio
});
});
cartas.sort(()=>Math.random()-0.5);
const game=document.getElementById("game");
let primeira=null;
let segunda=null;
let bloqueado=false;
let acertos=0;
cartas.forEach(carta=>{
const div=document.createElement("div");
div.className="card";
div.innerHTML="?";
div.dataset.id=carta.id;
div.dataset.tipo=carta.tipo;
div.dataset.audio=carta.audio;
if(carta.tipo=="texto"){
div.dataset.texto=carta.conteudo;
}else{
div.dataset.img=carta.conteudo;
}
div.onclick=()=>clicar(div);
game.appendChild(div);
});
function tocar(audio){
new Audio(audio).play();
}
function revelar(card){
card.classList.add("revealed");
if(card.dataset.tipo=="texto"){
card.innerHTML=card.dataset.texto;
}else{
card.innerHTML=``;
}
tocar(card.dataset.audio);
}
function esconder(card){
card.classList.remove("revealed");
card.innerHTML="?";
}
function clicar(card){
if(bloqueado) return;
if(card.classList.contains("matched")) return;
if(card===primeira) return;
revelar(card);
if(primeira==null){
primeira=card;
return;
}
segunda=card;
bloqueado=true;
setTimeout(verificar,900);
}
function verificar(){
if(primeira.dataset.id==segunda.dataset.id){
primeira.classList.add("matched");
segunda.classList.add("matched");
acertos++;
if(acertos==palavras.length){
document.getElementById("message").innerHTML="🎉 Parabéns! Você venceu!";
}
}else{
esconder(primeira);
esconder(segunda);
}
primeira=null;
segunda=null;
bloqueado=false;
}
