Pertemuan 6 PWEB - Membuat Game Wordle
Nama : Kadek Fajar Pramartha Yasodana
NRP : 5025231185
Kelas : PWEB E
Membuat Game Wordle Dengan Fitur HTML 5, dan JS
Dalam tugas kali ini, setelah saya membuat website menu dengan fitur HTML 5 pada pertemuan 5, kali ini pada pertemuan 6 saya membuat sebuah game yang mirip dengan game Wordle. Anda bisa melihat source codenya dan link untuk bermain pada link dibawah ini. Fitur HTML 5 yang dipakai adalah element element tambahan seperti footer, main, dll.
Source Code : GitHub
Link Hosting Game : Vercel
Berisi DOM template agar memudahkan saat menambahkan element
script.js
Script ini akan mengontrol alurnya permainan dan mengontrol cara menambahkan dan mengurankan elemen. Permainan ini memungkinkan pemain untuk
menebak kata yang dipilih secara acak dari daftar kata yang diambil dari file
JSON eksternal. Berikut adalah penjelasan dari setiap bagian script:
- Deklarasi
Elemen HTML: Script ini dimulai dengan mengambil referensi ke beberapa
elemen HTML menggunakan document.getElementById.
Elemen-elemen ini termasuk elemen utama (mainElement),
elemen untuk menampilkan pesan kemenangan (winElement),
kekalahan (loseElement),
tombol ulang (retryElement),
elemen untuk menampilkan pesan "enter a key" (enterAKeyElement),
dan elemen untuk menampilkan kata yang benar (wordElement).
- Deklarasi
Variabel: Beberapa variabel global dideklarasikan untuk menyimpan
status permainan, seperti daftar kata (words),
status apakah kata sudah dimuat (loadFinished),
tahap permainan saat ini (currentStage),
baris input saat ini (currentRow),
kata yang dipilih (choosenWord),
panjang kata (wordLength),
dan array untuk menyimpan input pemain (inputs).
Konstanta maxTries juga
dideklarasikan untuk menentukan jumlah maksimal percobaan.
- Event
Listener: Event listener ditambahkan untuk mendengarkan input dari
keyboard (keydown)
dan klik pada tombol ulang (retry).
Fungsi handleKeyPress akan
dipanggil saat ada input dari keyboard, dan fungsi retryLevel akan
dipanggil saat tombol ulang diklik.
- Fungsi
Utama: Fungsi main adalah
fungsi utama yang memuat kata-kata dari file JSON dan memulai permainan
dengan memanggil startGame.
- Memuat
Kata-Kata: Fungsi loadWords menggunakan fetch untuk
mengambil data dari file data.json,
kemudian mengubahnya menjadi format JSON dan menyimpan daftar kata ke
dalam variabel words.
Jika terjadi kesalahan saat memuat kata, pesan kesalahan akan ditampilkan
di konsol.
- Memulai
Permainan: Fungsi startGame menginisialisasi
ulang status permainan, memilih kata secara acak dari daftar kata, dan
membuat baris input untuk setiap percobaan. Elemen-elemen untuk pesan
kemenangan, kekalahan, tombol ulang, dan kata yang benar disembunyikan.
- Membersihkan
Baris dan Input: Fungsi clear menghapus
semua elemen baris dari DOM dan mengosongkan array rows.
Fungsi clearInput mengosongkan
array inputs.
- Memperbarui
Elemen Input: Fungsi updateItems memperbarui
elemen DOM untuk mencerminkan input pemain saat ini. Setiap karakter dalam
input pemain akan ditampilkan di elemen yang sesuai.
- Mengirim
Kata: Fungsi submitWord memeriksa
apakah input pemain cocok dengan kata yang dipilih. Jika cocok, permainan
berakhir dengan kemenangan. Jika tidak, permainan berlanjut ke baris
berikutnya. Jika pemain telah mencapai jumlah percobaan maksimal tanpa
menebak kata dengan benar, permainan berakhir dengan kekalahan.
- Menghilangkan
Pesan "Enter a Key": Fungsi enterKeyFirst menghilangkan
elemen pesan "enter a key" jika masih terlihat.
- Menangani
Input Keyboard: Fungsi handleKeyPress menangani
input dari keyboard. Jika pemain menekan huruf, huruf tersebut akan
ditambahkan ke input saat ini. Jika pemain menekan Backspace,
huruf terakhir akan dihapus. Jika pemain menekan Enter,
kata saat ini akan dikirim untuk diperiksa.
- Mengulang
Permainan: Fungsi retryLevel memulai
ulang permainan dengan memanggil startGame.
Comments
Post a Comment