Tugas03: Bejeweled (Part 1) (revisi 150429_r01).

Kembali ke Wiki

  1. Mari membuat game Bejeweled versi sederhana. Unduh berkas gambar berikut: gem.zip
  2. Buatlah sebuah berkas bernama Bejeweled.java yang isinya membuat frame berukuran 800 x 600 (panjang ke samping x lebar ke bawah) dengan judul "Bejeweled".
  3. Bagi dua frame tersebut dengan ukuran pertama 200 x 600 (bagian 1) dan 600 x 600 (bagian 2).
  4. Isilah bagian pertama dengan hal berikut:
    1. JButton dengan tulisan "Mulai Baru"
    2. JButton dengan tulisan "Simpan"
    3. JButton dengan tulisan "Buka"
    4. JLabel dengan tulisan "Skor:"
    5. JLabel dengan tulisan "0".
    6. JLabel dengan tulisan "Level:"
    7. JLabel dengan tulisan "1".
  5. Posisi, jenis font dan besar font semua elemen di atas di dalam bagian 1 adalah terserah sesuai keinginan kalian, tapi ingat kalau berantakan orang - orang jadi kurang berniat memainkan game kalian.
  6. Isilah bagian kedua dengan hal berikut:
    1. 64 buah JLabel dengan ukuran masing - masing 65 pixel x 65 pixel dan susunan matriks 8 x 8.
  7. Posisi bidak 8 x 8 ini paling bagus adalah di tengah - tengah bagian kedua.
  8. Kalian bebas menambahkan JPanel untuk menampung bagian - bagian yang harus dibuat.
  9. Di dalam berkas gambar ada 7 buah gambar. Mari sebut gambar ini dengan nama "gem". "gem" ini adalah representasi gambar tiap object Tile yang akan mengisi tiap bidak di game kita. Untuk bisa membuat sebuah object tile yang representatif sehingga bisa digunakan di game, kita perlu membuat sebuah kelas Tile.java. Kelas ini minimal berisi informasi gambar gem yang mewakili serta tipe Tile ini sendiri apa. Ambil tipe ini dari warna gem nya (merah, biru, kuning dll).
  10. Sekarang buatlah sebuah kelas bernama Algoritma.java. Di dalam kelas ini buatlah sebuah method isiAwal yang fungsinya adalah generate 64 buah Tile secara random. Hasilnya diberikan kepada Bejeweled.java sehingga tiap JLabel yang berada di posisi sama bisa menampilkan gambar gem yang ada di Tile sebagai ImageIcon-nya. Dalam method mengisi awal ini aturan yang harus dipenuhi adalah tidak boleh 3 Tile yang tipenya sama berada berurutan dalam satu baris atau kolom.
  11. Jika sudah berhasil, hubungkan method isiAwal ini dengan JButton "Mulai Baru", dengan kata lain setiap kali kita klik JButton "Mulai Baru", bidak JLabel akan "diisi" dengan Tile baru.
  12. Sekarang kita akan mengaktifkan JButton "Simpan". Buatlah sebuah kelas SimpanBuka.java. Buatlah method simpan di dalam kelas tersebut yang fungsinya adalah menyimpan keadaan hubungan semua bidak dan Tile nya serta skor dan level ke dalam sebuah berkas. Buat juga method buka di dalam kelas tersebut yang fungsinya adalah mengambil keadaan hubungan semua bidak dan Tile nya serta skor dan level dari dalam sebuah berkas agar Bejeweled.java bisa menerapkan aturan dari berkas tersebut ke dalam frame nya.
  13. Archive semua source hasil pekerjaan kalian lengkap dengan struktur package-nya menjadi berkas KELAS-NPM-Tugas02.zip atau KELAS-NPM-Tugas02.tar dan kumpulkan di Scele.
  14. Selamat mengerjakan!

Kembali ke Wiki

gem.zip (32.9 KB) Ramot Stephanus Sihombing rast20, 29/04/2015 11:33