Assalamualaikum..
yosh, langsung aja Pada
kesempatan kali ini, saya akan berbagi ilmu tentang membuat game sederhana
dengan menggunakan GreenFoot. Tapi
sebelum buat game nih kita kenalan dulu yuk sebenernya apasih GreenFoot itu ?
GreenFoot atau kaki hijau dalam bahasa Indonesia adalah adalah perangkat lunak
yang didesain untuk pemula agar dapat terbiasa dengan Pemrograman Berorientasi
Objek (Object-Oriented Programming), yang mendukung pengembangan aplikasi
bergambar dengan memakai bahasa pemrograman Java. Informasi
lebih lanjut mengenai Greenfoot bisa dilihat di www.greenfoot.org.
Okeh
yang diatas sekedar perkenalan dengan GreenFoot. Sekarang kita masuk untuk
membuat sebuah pemrograman dasar game menggunakan Greenfoot.
Ini merupakan salah satu karya saya dengan scenario atau jalan ceritanya yaitu “ ada seekor kepik yang sedang hinggap di dahan pohon tiba-tiba dari langit turun banyak sekali kue pie. Karena lapar kepik memakan kue pie itu. Setiap kali makan satu pie itu kepik akan mendapatkan 1 poin. Tapi disatu sisi ada spider/ laba-laba yang turun juga yang ternyata laba-laba tersebut beracun. Jika tersentuh laba-laba tersebut maka kepik akan mati atau game over. Selain itu jika pie itu tidak berhasil dimakan oleh kepik lalu jatuh ke tanah maka akan game over “.
Ini merupakan salah satu karya saya dengan scenario atau jalan ceritanya yaitu “ ada seekor kepik yang sedang hinggap di dahan pohon tiba-tiba dari langit turun banyak sekali kue pie. Karena lapar kepik memakan kue pie itu. Setiap kali makan satu pie itu kepik akan mendapatkan 1 poin. Tapi disatu sisi ada spider/ laba-laba yang turun juga yang ternyata laba-laba tersebut beracun. Jika tersentuh laba-laba tersebut maka kepik akan mati atau game over. Selain itu jika pie itu tidak berhasil dimakan oleh kepik lalu jatuh ke tanah maka akan game over “.
Itulah sedikit penjelasan tentang game yang akan kita buat. Sangat sederhana tapi
semoga bermanfaat.. :D
1. Bukalah aplikasi Greenfoot Maka akan muncul tampilan seperti ini.
2. Buatlah sebuah scenario baru. Caranya; Scenario => New => Nama Objek
Kemudian akan muncul kotak dialog, dimana teman-teman akan menyimpan diamana hasil kerja teman-teman.
3. Buatlah sebuah sub class di class word Klik Kanan > New Subclass. lalu akan muncul jendela baru untuk memasukkan nama kelas. Saya memberikan nama latar (perhatikan huruf besar dan kecilnya, karena pada pemrograman java bersifat case sensitive artinya huruf besar dan kecil sangat berpengaruh).
Pilih background, kalau saya sendiri saya ambil dari google yang ada gambar pohonnya kemudian jangan lupa untuk memberikan Nama Class. Kemudian pilih OK. Untuk melihat hasilnya, klik Compile maka akan tampil background yang dipilih tadi.
Klik kanan pada latar kemudian pilih open editor, maka akan tampil kode program class word dalam hal ini latar.
Ketikkan sintaks berikut :
public latar()
{
super(900, 500, 1);
}
Perintah super(900,500,1). Perintah ini digunakan untuk membuat ukuran layar dengan panjang 900 x tinggi 500 dengan ukuran cell 1 x 1.
4. Sekarang kita akan membuat Subclass Actor.
Disini teman-teman bisa memasukkan gambar, Pilih Import From File kemudian pilih gambar. Maka akan seperti ini tampilannya:
5. Menempatkan objek dalam subclaass latar. Klik kanan pada Latar kemudian pilih open editor. Masukkan sintaks dibawah sytaks membuat Background/Latar:
setPaintOrder(counter.class, kepik.class, pie.class);
addObject(new kepik(), 200,250);
addObject(new pie(),700,30);
addObject(new spider(),500,30);
addObject(skor,80,400);
6.
Compile dan jika tidak ada kesalahan
sintaks maka tampilannya akan seperti ini.
7.
Mengatur
gerak aktor dengan Mouse. Masukkan sintaks berikut ke dalam
actor kepik ;
if(Greenfoot.mouseMoved(null)) {
MouseInfo
mouse = Greenfoot.getMouseInfo();
setLocation(mouse.getX(), mouse.getY());
}
Tekan compile dan
pastikan sintaks yang teman buat sudah sesuai, jika tidak terjadi kesalahan maka
akan muncul tulisan Class compiled-no
syntax error.
8. Setelah itu mengatur gerak Kue Pie / Hujan Pie secara Random. Masukkan sintaks berikut ke dalam actor pie:
public void act()
{
int x =
getX();
int y =
getY();
setLocation(x,
y + 1);
if (getY()
==499) //untuk pie
dapat turun ke bawah
{
setLocation(getX(),0);
}
}
Masukkan syntax berikut pada latar pada public void act;
if(Greenfoot.getRandomNumber(100) < 2) { //untuk pie dapat
random/ acak
addObject(new pie(), Greenfoot.getRandomNumber(700), 10);
}
9. Mengatur gerak spider atau musuh
kepik. Masukkan sintaks berikut ke dalam actor spider:
public void act()
{
int x =
getX();
int y =
getY();
setLocation
(x, y + 1);
if (getY()
==499) //untuk
spider dapat turun kebawah
{
setLocation(getX(),0);
}
}
Masukkan sintaks berikut pada latar pada Public Void Act;
if(Greenfoot.getRandomNumber(700) < 1) { //untuk spider dapat
random/acak
addObject(new spider(), Greenfoot.getRandomNumber(500), 10);
}
10. Membuat Point. Yaitu apabila kepik makan kue pie
maka akan medapat poin satu. Masukkan sintaks berikut kedalam Actor Kepik di dalam Void Act:
pie a= (pie)getOneIntersectingObject(pie.class); //untuk pie dapat hilang ketika dimakan
if (a!=null)
{
((latar)
getWorld()).tambahNilai();
Greenfoot.playSound("pop.wav"); //untuk menambahkan suara
getWorld().removeObject(a);
return;
}
Note : Untuk sound/ suara teman-teman bisa diambil dari folder Greenfoot Sound yang berada di direktori C:\
Kemudian
masukkan sintaks berikut pada latar dipaling atas setelah komentar:
counter skor = new counter ("Skor : ");
public void
tambahNilai()
{
skor.tambah(1);
}
Masukkan
sintaks dibawah ini di actor counter :
import
greenfoot.*; //letakkan dipaling atas sebelum komentar
import
java.awt.Font;
import
java.awt.Color;
private int angka = 0;
private int target = 0;
private String huruf;
private int panjangHuruf;
public counter( String depan )
{
huruf = depan;
panjangHuruf = (huruf.length() +2) *16;
setImage (new
GreenfootImage(panjangHuruf,24));
GreenfootImage gambar = getImage();
Font jenisHuruf = gambar.getFont();
gambar.setFont(jenisHuruf.deriveFont(24.0F));
gantiGambar();
}
private void gantiGambar()
{
GreenfootImage gambar = getImage();
gambar.clear();
gambar.setColor(Color.RED);
gambar.drawString(huruf + angka, 1,
18);
}
public void tambah (int skor)
{
target += skor;
}
public int nilaiAkhir()
{
return angka;
}
public void act()
{
if (angka < target)
{
angka++;
gantiGambar();
}
}
Oke, sekarang kita buat untuk mencetak skor pada papanskor.
Oke, sekarang kita buat untuk mencetak skor pada papanskor.
Masukkan
syntax berikut pada actor papanskor:
import
greenfoot.*;
import
java.awt.Color;
import
java.awt.Font;
import
java.util.Calendar;
public
class papanskor extends Actor
{
public static final float besarhuruf =
48.0f;
public static final int lebar = 500;
public static int tinggi = 300;
public papanskor(int skor)
{
bikinGambar("Game
Over","Skor Akhir : ", skor);
}
private void bikinGambar(String judul,
String depan, int skor)
{
GreenfootImage gambar = new
GreenfootImage(lebar,tinggi);
gambar.setColor (new Color (25, 5, 74,
160));
gambar.fillRect(0,0, lebar-10, tinggi
-10);
Font font = gambar.getFont();
gambar.setColor(Color.GREEN);
gambar.drawString(judul,60, 100);
gambar.drawString(depan+skor,60,200);
setImage(gambar);
}
Masukkan
sintkas berikut pada Latar :
public
void selesai()
{
addObject(new
papanskor(skor.nilaiAkhir()), 450,250);
Greenfoot.stop();
}
11. Sekarang membuat gameover, yakni ketika kepik menyentuh spider atau kue pie jatuh ke tanah.
Masukkan
sintaks di actor kepik :
spider
spider=(spider)getOneIntersectingObject(spider.class);
if(spider !=null)
{
setImage("skull.png");
setRotation(0);
Greenfoot.playSound("buzz.wav");
getWorld().removeObject(spider);
Greenfoot.stop();
((latar) getWorld()).selesai();
}
Masukkan
sintaks berikut di Actor Pie :
setLocation(getX(),getY()
+1); //game akan selesai ketika
pie menyentuh tanah
if (getY() == 450){
((latar) getWorld()).selesai();
Greenfoot.playSound("buzz.wav");
}
12. Yosh, sudah selesai. Agak membingungkan memang. Baiklah selamat berkreasi . Bay bay sampai jumpa lagi… :D
Buat temen-temen yang masih bingung berikut dokumen hasilnya jadinya bisa di download di sini : ))
gan itu counter sama papanskor dapat darimana??
ReplyDeletecounter iti diambil dari greenfoot di direktori C:\Program Files\Greenfoot\scenarios\balloons\images
ReplyDeleteuntuk papan skor itu dibuat sendiri dengan new subclass - ketikkan papan skor - lalu ok - lalu masukin sintaknya, sintaknya ada di atas kok...
gan itu:
ReplyDeleteaddObject(skor,80,400); error
soalnya tidak ada class
iya memang ada beberapa yang error. masih proses belajar hehe :D
DeleteTerimakasih sudah berkunjung Wahyu Hari :)
izin share gan, untuk belajar.,., baru pemula
ReplyDeleteSilahkan gan. Terimakasih sudah mampir
Deletesintak tuh apa ya?
ReplyDeleteHai Arif, Kalo menurut saya sih sintak adalah aturan struktur bahasa khususnya bahasa pemrograman.
DeleteTerimakasih sudah berkunjung :)
izin share mbak
ReplyDeleteHai dedyWnugra, Silahkan. Cantumkan sumbernya juga yah :) Terimakasih sudah mampir :D
ReplyDeletethanks infonya mbak !
ReplyDeleteSama-sama mas, terimakasih sudah berkunjung semoga bermanfaat yaahh :)
Deletemba, saya mau nanya ini program menggunakan algoritma/metode apa?
ReplyDeletemohon informasinya
Hai Adi, saya juga bingung ini program pake algoritma metode apa hehe.. Barangkali temen2 ada yang tahu...
DeleteTapi yang pasti program yang digunakan adalah greenfoot.
Terimakasih sudah berkunjung :)
mau minta emailnya mba, buat sharing
ReplyDeleteIni email saya sakinahrpl@gmail.com, Yoroshiku ne...
DeleteTerima kasih, sangat membantu tugas akhir saya:D
ReplyDeleteAlhamdulillah, Senang bisa membantu :) Terimakasih Radii Gebastian sudah berkunjung :D
Deleteterimakasih referensinya, akan saya coba.
ReplyDeleteSama-sama yah senang bisa membantu semoga bermanfaat :) Terimakasih Jihan sudah berkunjung :D
Deletewaahhh makasih mbak referensinya sangat membatu, tingkatkan hehehe
ReplyDeleteSama-sama yah, Terimakasih Awangga Ari sudah berkunjung :D
Deletebuat pembelajaran siswa saya mbak... terimakasih ya... :)
ReplyDeleteAlhamdulillah, Senang bisa membantu :)) Terimakasih sudah berkunjung ^^
Deleteizin download project nya, ditunggu yang lainnya
ReplyDelete:)
Silahkan, siaaap :)) hehe Terimakasih sudah mampir
Delete