Sunday, January 10, 2021

EVALUASI AKHIR SEMESTER PEMROGRAMAN BERBASIS OBJEK (PBO)

 Snake Game

Zaman sekarang, teknologi bermain game menggunakan handphone sudah sangat maju. Bahkan engine game yang digunakan untuk game besar seperti Battlefield 4 saja bisa “dijalankan” dengan menggunakan device berbasiskan iOS. Tapi 20 tahun yang lalu, hal seperti ini jelas tidak terbayangkan oleh banyak orang.

Semuanya berubah ketika Nokia mulai merilis handphone dengan berbagai fitur seperti jam, alarm, dan bahkan game. Kalau kamu lahir sebelum pertengahan 90-an, tentunya kamu mengenal game Snake di handphone Nokia yang sangat simpel, tapi di waktu yang sama juga merupakan sebuah katalis untuk perubahan yang besar.

Abstraksi
Snake adalah sebuah game dimana kita mengendalikan sebuah garis atau line. Garis tersebut akan bertambah panjang jika mengenai / memakan sebuah objek berupa titik atau dot. Tujuan dari game ini bukan untuk mencari pemenang, tetapi mengumpulkan skor setinggi - tingginya sampai garis (ular) yang kita kendalikan menjadi terlalu panjang sehingga sulit dikendalikan dan menabrak dirinya sendiri. Saat ular menabrak dirinya sendiri, maka kita dinyatakan kalah dan skor berhenti.

Untuk memenuhi tugas Final Project dan EAS PBO, maka kami membuat sebuah game Snake dengan menggunakan bahasa Java. Untuk diagram dari kodingan game Snake itu sendiri bisa dilihat sebagai berikut :

Food
Class Food berfungsi untuk melakukan pengaturan segala sesuatu yang membentuk elemen dari food / makanan dari ular, seperti pengaturan warna dari makanan / food, penempatan lokasi makanan / food di dalam game, hingga melakukan pengaturan rumus bagaimana lokasi makanan / food di dalam game bisa berpindah - pindah dan tidak static.

Location
Class Location berfungsi untuk mendeklarasikan setiap koordinat yang akan dibutuhkan untuk ular / snake dan makanan / food.

GamePlay
Class GamePlay berfungsi untuk melakukan penataan layout menu dari game mulai dari font style huruf hingga penempatan setiap elemen. Kemudian class GamePlay juga berfungsi untuk mengatur penambahan score setiap ular / snake memakan makanan dan mensinkronkan kontrol keypad keyboard dengan ular (mengatur cara pemain mengendalikan jalannya ular dengan keypad keyboard.

Snake
Class Snake berfungsi untuk melakukan pengaturan segala sesuatu yang membentuk elemen ular / snake, seperti melakukan input file berupa gambar bertipe PNG yang membentuk kepala serta badan ular / snake. Kemudian class Snake juga berfungsi untuk melakukan pengaturan jika ular sudah mencapat panjang tertentu, maka akan diinput gambar lain untuk mengganti warna badan ular / snake. Terakhir class Snake juga berfungsi untuk melakukan pengaturan rumus bagaimana ular bergerak di dalam game.

Renderer
Class Renderer berfungsi untuk melakukan rendering gambar ke dalam aplikasi game. Di dalam class ini dilakukan pengaturan mulai dari KeyListener sebagai interface untuk menerima inputan dari keyboard, hingga melakukan pengaturan warna aplikasi game.

Main
Class Main merupakan class utama atau main dari program. Class Main berfungsi untuk membangun dan menampilkan aplikasi game, seperti melakukan pengaturan seberapa besar window dari game, menginisiasi komponen renderer, mengeset judul dari game, dan lain - lain.

Jika semua program diatas dihubungkan, dicompile dan di-run di main class maka akan didapatkan output sebagai berikut :

Video Penjelasan source code dan penggunaan aplikasi

Link Download Game :
Link Download Disini

Catatan : Dimohon untuk file jar didalam file zip untuk di extract terlebih dahulu

Anggota Kelompok :
1. Arvel Gavrilla Raissananda (05111940000040)
2. Raihan Alifianto (05111940000213)

Kelas : PBO - A











Share: