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. Ya, sudah selesai. Agak membingungkan memang. Baiklah selamat berkreasi . Bay bay sampai jumpa lagi… :D
0 komentar:
Posting Komentar