Tentu — saya paham jenis memory game seperti itu. Itu adalah game di mana pemain harus mencocokkan pasangan kartu dengan cara membalik dua kartu dalam satu waktu. Jika sama, kartu tetap terbuka; jika tidak, kartu ditutup kembali. Berikut Algoritma dan kode programnya. (berbantuan ChatGPT)
Algoritma Memory Game (Kartu Pasangan)
1. Setup Awal
Siapkan array pasangan gambar/kartu (misal: ["A","A","B","B","C","C",...]).
Acak urutan kartu di array menggunakan algoritma Fisher-Yates Shuffle.
javascriptCopyEdit
function shuffle(array) { for (let i = array.length - 1; i > 0; i--) { let j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array; }
2. Tampilkan Kartu ke Layar
Buat elemen HTML untuk setiap kartu (bisa <div> atau <button>).
Pasang gambar atau simbol di balik tiap kartu.
3. Logika Klik
Ketika pemain klik kartu:
- Jika belum ada kartu terbuka, simpan kartu pertama.
- Jika sudah ada satu kartu terbuka, buka kartu kedua, lalu:
- Cek apakah kartu pertama dan kedua sama.
Jika sama: biarkan tetap terbuka. Jika tidak: tutup kembali setelah delay (misal 1 detik).
4. Menyimpan Status
Gunakan variabel sementara untuk menyimpan:
firstCard
secondCard
Status kartu (sudah cocok atau belum)
5. Cek Kemenangan
Setelah semua pasangan ditemukan, tampilkan pesan “Menang” atau restart game.
Skema Pseudocode
markdownCopyEdit
- Buat array berisi pasangan kartu
- Acak array kartu
- Tampilkan kartu tertutup ke layar
- Saat kartu diklik:
- a. Jika belum ada kartu terbuka, simpan sebagai firstCard
- b. Jika ada satu kartu terbuka, simpan sebagai secondCard
- Bandingkan:
- Jika cocok: biarkan terbuka - Jika tidak: tutup keduanya setelah delay
- Ulangi sampai semua pasangan terbuka
- Tampilkan pesan kemenangan
Contoh Aplikasi:
https://blog.jejakmedia.link/game-online/
https://amelmira.com/GMemoryGame/
Berikut kode lengkapnya
>
