Tugas Akhir
Penjelasan
Saatnya menggabungkan semua konsep yang sudah dipelajari — game loop, input keyboard, collision detection AABB, entity berbasis tabel, dan state management — menjadi satu mini-game utuh dari menu sampai game over. Tugas ini menguji kemampuan mengatur alur game secara keseluruhan, bukan cuma memahami tiap fitur secara terpisah. Fokus pada bagaimana state menu, bermain, dan game over saling terhubung, serta bagaimana collision detection dipakai untuk menentukan kapan game berakhir (pemain "tertangkap" musuh).
Tugas
Buat mini-game "Hindari Musuh": (1) state "menu" menampilkan judul dan instruksi tekan ENTER untuk mulai, (2) state "main" menampilkan kotak pemain yang digerakkan panah kiri/kanan/atas/bawah dan sebuah musuh yang bergerak otomatis bolak-balik, (3) gunakan AABB untuk mendeteksi tabrakan pemain dengan musuh, (4) kalau bertabrakan, pindah ke state "gameover" yang menampilkan teks "Game Over" dan skor bertahan (dihitung dari waktu bertahan hidup menggunakan dt), (5) tombol ENTER di state gameover mengulang kembali ke state menu.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Reset semua variabel (posisi pemain, posisi musuh, waktuBertahan) saat kembali ke state "main" dari menu, supaya sesi permainan baru tidak membawa sisa data dari sesi sebelumnya.