Membuat Game Matching Menggunakan Javascript Part 2
Pada artikel Membuat Game Matching Menggunakan Javascript Part 1 kita sudah membuat struktur html yang berisi beberapa div untuk menampilkan gambarnya. Dan pada artikel kali ini tentang Membuat Game Matching Menggunakan Javascript Part 2 kita akan membuat style css untuk menghias tampilan game matching yang sudah di buat sebelumnya seperti berikut ini.
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}body {
height: 100vh;
display: flex;
background: #060AB2;
}.memory-game {
width: 640px;
height: 640px;
margin: auto;
display: flex;
flex-wrap: wrap;
perspective: 1000px;
}.memory-card {
width: calc(25% - 10px);
height: calc(33.333% - 10px);
margin: 5px;
position: relative;
transform: scale(1);
transform-style: preserve-3d;
transition: transform .5s;
box-shadow: 1px 1px 1px rgba(0,0,0,.3);
}.memory-card:active {
transform: scale(0.97);
transition: transform .2s;
}.memory-card.flip {
transform: rotateY(180deg);
}.front-face,
.back-face {
width: 100%;
height: 100%;
padding: 20px;
position: absolute;
border-radius: 5px;
background: #1C7CCC;
backface-visibility: hidden;
}.front-face {
transform: rotateY(180deg);
}
Jika sudah selesai maka tahap terakhir teman-teman buat file baru dengan nama script.js yang berisi javascript untuk melakukan pengecekan pada gambar sama atau tidak dan membuat animasi flip , unflip dan beberapa fungsi lain yang dibutuhkan seperti berikut ini.
const cards = document.querySelectorAll('.memory-card');
let hasFlippedCard = false;
let lockBoard = false;
let firstCard, secondCard;function flipCard() {
if (lockBoard) return;
if (this === firstCard) return;
this.classList.add('flip');
if (!hasFlippedCard) {
hasFlippedCard = true;
firstCard = this;
return;
}
secondCard = this;
checkForMatch();
}function checkForMatch() {
let isMatch = firstCard.dataset.framework === secondCard.dataset.framework;
isMatch ? disableCards() : unflipCards();
}function disableCards() {
firstCard.removeEventListener('click', flipCard);
secondCard.removeEventListener('click', flipCard);
resetBoard();
}function unflipCards() {
lockBoard = true;
setTimeout(() => {
firstCard.classList.remove('flip');
secondCard.classList.remove('flip');resetBoard();
}, 1500);
}function resetBoard() {
[hasFlippedCard, lockBoard] = [false, false];
[firstCard, secondCard] = [null, null];
}(function shuffle() {
cards.forEach(card => {
let randomPos = Math.floor(Math.random() * 12);
card.style.order = randomPos;
});
})();cards.forEach(card => card.addEventListener('click', flipCard));
Jika dilihat pada halaman browser maka akan seperti gambar di bawah ini jika semua gambar sudah di cocokkan.

Demikian artikel tentang cara Membuat Game Matching Menggunakan Javascript. Semoga dapat bermanfaat dan selamat mencoba.
Webinar Gratis 2024
Sabtu, 09 Maret 2024
10 Bahasa Rekomendasi Untuk Dipelajari di 2024
Python Developer, Data Science, Web Application
Minggu, 26 Mei 2024, 09.00-13.00 WIB
(4 Jam Membuat Backend di Laravel 11)