Minggu, 04 September 2011

Cara membuat Game Pukul Bola Sederhana Menggunakan Java

Ini sebenarnya dulu proyek ujian Praktikum Sistem Terdistribusi, tapi rasanya malah jadi produk gagal :D . Jadinya ya ane open saja source code-nya siapa tahu ada yang ngembangin dan bisa lebih bermanfaat. Niatnya dulu bikin game sederhana yang bisa diimplementasikan client-server sekaligus multithread. Berhubung penerapan di client-server udah cukup membuat ane malnutrisi, jadinya ane oprek dikit jadi berbasis desktop biasa.
Permainannya kayak gini:
animasi bola dengan java

Intinya kita harus meng-klik bola warna merah itu untuk dapat skor. Setiap klik yang mengenai bola akan mendapat skor +1, permainan selesai saat waktu sudah 30 detik (ada countdown timer-nya.). Simpel kan? bikinnya yang agak bikin frustasi apalagi bikin fungsi yang nentuin bola itu kena klik atau gak :D
Program terdiri dari 6 class. yaitu:
1. GUI.java
Class ini bertanggung jawab tentang form dan aksi-aksi interface yang ada di dalamnya. Oiya, untuk perhitungan koordinat waktu kita melakukan klik pada bola itu ada dalam fungsi berikut:
void klikKanvas() {
Objek.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent evt) {
Objek.mouseClicked(evt);
xx = Objek.posX();
yy = Objek.posY();
int objekX = Objek.getX();
int objekY = Objek.getY();
if ((xx > objekX && xx <= objekX + 50) && (yy > objekY && yy <= objekY + 50)) {
player.setScore();
}
}
public void mousePressed(MouseEvent me) {
}
public void mouseReleased(MouseEvent me) {
}
public void mouseEntered(MouseEvent me) {
}
public void mouseExited(MouseEvent me) {
}
});
}

Koordinat lokasi bola ditentukan dengan variabel objekX dan objekY, sedangkan posisi kursor dengan variabel xx dan yy. Nah jika jika koordinat antara bola dan kursor sama maka logikanya kita berhasil memukul bola itu. TAPI, sulitnya adalah koordinat posisi bola tepat Berada di tengah bola. Adalah hal yang sulit bisa meng-klik bola tepat di tengahnya ditambah lagi bola itu bergerak secara acak. untuk itu, ditambahkan 50 pada posisi objek agar kita bisa mendapat skor jika memukul bola itu walaupun tidak pas di tengahnya.
2. Animasi.java
Class ini bertanggung jawab tentang animasi dan mengatur thread yang berjalan. Animasi ini mengatur objek bola agar bergerak secara random di dalam Canvas dan kecepatannya diatur oleh thread tadi.
3. level.java
Ini sebenarnya buat penanganan level. Jika mendapatkan skor tertentu, maka bisa ke level selanjutnya dengan kecepatan gerak bola meningkat. Tapi berhubung gagal, ya ane gak pake dulu. Silahkan dikembangkan :)
4. Objek.java
Class objek gunanya untuk menciptakan objek bola tadi sekalian mencatat koordinat tiap gerakan bola dalam kanvas.
5. Pemain.java
Class Pemain ini untuk mengidentifikasi pemain, yaitu nama dan skor.
6. Main.java
Main class untuk menjalankan program.
Sori nih gak bisa jelasin Source-nya satu-satu, ntar bisa jadi cerpen soalnya. So langsung aja download, pelajari, oprek, dan kembangkan ya. :) Jangan lupa harus sabar karena source code yang ada mungkin berantakan dan membingungkan. Tapi semoga saja bisa dikembangin lebih bagus lagi
Bravo IT Indonesia ^^b

0 komentar:

Posting Komentar