Page | 1 MEMBUAT GAME MENGGUNAKAN GREENFOOT Sejarah Greenfoot Greenfoot proyek yang telah dimulai oleh Michael Kölling pada tahun 2003, dan prototipe yang pertama dibangun oleh Poul Henriksen (Magister siswa) dan Michael Kölling (supervisor) di 2003/2004. Dari 2005 pembangunan dilanjutkan melibatkan anggota lain dari BlueJ Group di University of Kent dan Deakin University. Kemudian pertama rilis, Greenfoot versi 1.0, telah diterbitkan pada 31 Mei 2006, dengan lebih lanjut dan terus dikembangkan dari sejak pertamarilis. Pada
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
P a g e | 1
MEMBUAT GAME MENGGUNAKAN GREENFOOT
Sejarah Greenfoot
Greenfoot proyek yang telah dimulai oleh Michael Kölling pada tahun 2003, dan
prototipe yang pertama dibangun oleh Poul Henriksen (Magister siswa) dan Michael
Kölling (supervisor) di 2003/2004.
Dari 2005 pembangunan dilanjutkan melibatkan anggota lain dari BlueJ Group di
University of Kent dan Deakin University. Kemudian pertama rilis, Greenfoot versi
1.0, telah diterbitkan pada 31 Mei 2006, dengan lebih lanjut dan terus dikembangkan
dari sejak pertamarilis. Pada bulan Mei 2007, Greenfoot proyek telah mendapatkan
penghargaan "Duke's Choice Award" dalam kategori "Java Teknologi dalam
Pendidikan".
Greenfoot sendiri saat ini masih sedang dikembangkan di University of Kent dan
Deakin University dengan dukungan dari Sun Microsystems, dan Greenfoot itu
nemu_pohon() untuk mengecek apakah kucing menabrak pohon atau tidak
pada gerak() disipkan source code agar kucing tidak bisa menembus pohon
Actor tikus
Sifat dari tikus
- Bergerak otomatis
P a g e | 19
- Makan keju
- Tidak boleh menembus/menabrak pohon
Sebelumnya kita siapkan dahulu properti yang dibutuhkan:
Default gerak pertama silakan di set (terserah Anda)
Disini kita set ke kanan
Bergerak otomatis
If (tidak bisa_gerak(arah_grk)) then
arah_baru=acak(arah)
while(arah_baru==arah_gerak)
arah_baru=acak(arah)
Misal :
If (tidak bisa_gerak(kiri)) then //jika tdk bs gerak ke kiri
arah_baru=acak(arah) //kanan,kiri,atas,bawah
while(arah_baru==kiri)
arah_baru=acak(arah) //diacak terus smp selain kiri
Bisa_gerak() -> boolean
P a g e | 20
ARH_GRK=KANAN;
6 7 8 9 (8,1) – (7,1) = (1,0)
0
1
2
(1,0) adlh selisih posisi antara objek yg kita cari (pohon) dgn objek utama 9 adlh batas paling kanan, shg jika tikus ada di posisi X=9, tdk blh bergerak ke kanan
ARH_GRK=KIRI;
0 1 2 3 (0,1) – (1,1) = (-1,0)
0
1
2
(-1,0) adlh selisih posisi antara objek yg kita cari (pohon) dgn objek utama
P a g e | 21
0 adlh batas paling kiri, shg jika tikus ada di posisi X=0, tdk blh bergerak ke kiri
ARH_GRK=ATAS;
0 1 2 3 (2,1) – (2,2) = (0,-1)
0
1
2
(0,-1) adlh selisih posisi antara objek yg kita cari (pohon) dgn objek utama
0 adlh batas paling kiri, shg jika tikus ada di posisi Y=0, tdk blh bergerak ke atas
ARH_GRK=BAWAH;
0 1 2 3 (2,5) – (2,4) = (0,1)
4
5
6
(0,1) adlh selisih posisi antara objek yg kita cari (pohon) dgn objek utama
P a g e | 22
6 adlh batas paling bawah, shg jika tikus ada di posisi Y=6, tdk blh bergerak ke bawah
Tidak boleh menembus / menabrak pohon
If (nemu_pohon)
Balik ke posisi semula
nemu_pohon() untuk mengecek apakah tikus menabrak pohon atau tidak
Kembali ke posisi semula
Disisipkan pada method gerak()
P a g e | 23
Makan_keju
If (nemu_pizza)
makan_pizza;
jml_pizza_dimakan++;
Else
gerak;
Counter penghitung pizza yang dimakan akan dibahas selanjutnya
Makan_pizza
Me-remove pizza yang ditemukan
Sehingga act() dari mouse adalah
P a g e | 24
Actor CounterSifat dari counter
- Menghitung jumlah keju yang dimakan tikus- Menghitung jumlah tikus yag dimakan kucing- Mengecek jika jumlah keju yang dimakan memenuhi target, menampilkan
pesan Anda KALAH- Mengecek jika jumlah tikus yang dimakan memenuhi target, menampilkan
pesan Anda MENANG
Properti yang disiapkan:
- Menghitung jumlah keju yang dimakan tikus- Menghitung jumlah tikus yag dimakan kucing
- Mengecek jika jumlah keju yang dimakan memenuhi target, menampilakn pesan Anda KALAH
- Mengecek jika jumlah tikus yang dimakan memenuhi target, menampilkan pesan Anda MENANG
Counter di definisikan di dalam CatMouseWorld
addObject(ct,0,0) akan menambahkan couter pada posisi (0,0), karena tidak ada image-nya, maka akan ditampilkan dengan image logo greenfoot kecil
P a g e | 25
Jika game berjalan terlalu cepat, bisa di-set untuk spped-nya menjadi lebih lambat
Greenfoot.setSpeed(speed);
Actor hasil
Sifat dari hasil
Menampilkan hasil dari game, MENANG / KALAH melalui image
Dalam penggunaan Color dan Font, harus meng-import library
PJG-10
P a g e | 26
LBR-10
Color(0, 0, 0, 160) => Hitam
Color(R, G, B, Opaque)
R=0, G=0, B=0, Opaque=160
PJG-10
LBR-10
Color(255, 255, 255, 100) => Putih
R=255, G=255, B=255, Opaque=100
“Menang!!!” akan dituliskan jika parameter pil=1
Selain itu akan dituliskan “KALAH!!!
Method Menang
Method menang() akan digunakan sebagai method untuk menampilakn pesan MENANG
Disisipkan pada CatMouseWorld
P a g e | 27
addObject(new hasil(1),5,3);
1 adalah parameter untuk menampilkan pesan “Menang!!!”
Ditempatkan pada posisi cell (5,3)
Output di layar:
Method Kalah
Method kalah() akan digunakan sebagai method untuk menampilkan pesan KALAH
Disisipkan pada CatMouseWorld
addObject(new hasil(0),5,3);
0 adalah parameter untuk menampilkan pesan “Kalah!!!”
Ditempatkan pada posisi cell (5,3)
Output di layar:
P a g e | 28
Method kalah() dan method menang()
Pemanggilan Method kalah() dan Method menang() dilakukan oleh aktor counter, sehingga act() pada counter