Muhammad Rizqi Tohopi

Optimis itu perlu…!!!

Belajar Pemrograman Game Berorientasi Objek Menggunakan Greenfoot

Apa kabar teman-teman sekalian?? Lama tak jumpa😀.

logogreenfoot

Pada kesempatan kali ini, saya akan berbagi ilmu tentang Pemrograman Game Berorientasi Objek menggunakan Greenfoot. Ohya, saya menggunakan aplikasi Greenfoot-windows-221. Sebelum kita masuk pada pemrogramannya perlu teman-teman ketahui, Greenfoot adalah perangkat lunak yang dirancang bagi para pemula yang sedang belajar bahasa pemrograman untuk mendapatkan pengalaman tentang pemrograman berorientasi objek. Greefoot mendukung pemngembangan aplikasi grafis di Bahasa Pemrograman Java. Informasi lebih lanjut tentang Greenfoot tersedia di http://www.greeenfoot.org

Untuk membuat sebuah game yang simple, diperlukan beberapa tahap antara lain;

  • Ide
    Objek 1 mengambil sebuah bola tanpa tertangkap oleh objek 2
  • Membuat Skenario
    Objek 1 (Ronaldo) mengambil bola dan setiap menemui bola maka bola tersebut akan di ambil. Objek 1 (Ronaldo) akan berkeliing ke seluruh area sampai mengambil seluruh bola yang ada tanpa tertangkap oleh objek 2 (Messi).
  • Objek
    1. Word : Disesuaikan
    2. Aktor : Ronaldo dan Messi
    3. Target : Bola
  • Implementasi dalam Greenfoot

Nah, teman-teman sekrang kita masuk untuk membuat sebuah pemrograman dasar game menggunakan Greenfoot.

1.  Bukalah Aplikasi Greenfoot

0Maka akanmuncul tampilan seperti ini;

3

2.  Buatlah sebuah scenario baru. Caranya; Scenario => New => Nama Objek

1Kemudian akan muncul kotak dialog, dimana teman-teman akan menyimpan diamana hasil kerja teman-teman.

2

3.  Buatlah sebuah sub class di class word dengan cara klik kanan lalu pilih new subclass. lalu akan muncul jendela baru untuk memasukkan nama kelas. saya memberikan nama cell (perhatikan huruf besar dan kecilnya, karena pada pemrograman java bersifat case sensitive artinya huruf besar dan kecil sangat berpengaruh).

4

Akan muncul kotak dialog;

3

Pilih background yang teman-teman sukai, kemudian jangan lupa untuk memberikan nama class. Kemudian pilih OK. Untuk melihat hasilnya, klik compile maka akan tampil background yang dipilih tadi.

6

Klik kanan pada cell kemudian pilih open editor, maka akan ta;mpil tampilan kode program class word dalam hal ini cell

8

9

Perhatikan diatas cell ada perintah super(600,400,1). Perintah ini digunakan untuk membuat ukuran layar dengan panjang 600 x tinggi 400 dengan ukuran cell 1 x 1.

4.  Sekarang kita akan membuat Subclass Actor.

11

10

Disini untuk memasukkan gambar diatas, pilih import from file kemudian pilih gambar sesuai tema. setelah itu,  klik gambar tersebut kemudian jangan lupa untuk mengisikan nama class.  berikut tampilan depan

7

12

5.  Menempatkan objek dalam subclaass cell. Klik kanan pada cell kemudian pilih open editor

14

Tambahkan Program

ronaldo ronaldo = new ronaldo ();        //menciptakan objek
addObject (ronaldo, 50, 50);        //mengatur koordinat letak actor
        
messi messi = new messi();
addObject (messi, Greenfoot.getRandomNumber(400),
Greenfoot.getRandomNumber(200) + 100);

Compile dan jika tidak ada kesalahan syntax lihat apa yang terjadi pada subclass cell.

17

6.  Mengatur gerak aktor dengan Keyboard

Tambahkan kode program pada aktor ronaldo seperti berikut :
if (Greenfoot.isKeyDown(“rigth”)) {
    setLocation(getX() + 2, getY());
}
if (Greenfoot.isKeyDown(“left”)) {
    setLocation(getX() – 2, getY());
}
if (Greenfoot.isKeyDown(“up”)) {
    setLocation(getX(), getY() – 2);
}
if (Greenfoot.isKeyDown(“down”)) {
    setLocation(getX(), getY() +2);

16
Telan compile dan pastikan coding yang teman buat sudah sesuai, jika tidak terjadi kesalahan maka akan muncul tulisan Class compiled – no syntax error.

7.  Cara membuat gerakan lain
buatlah 2 buah method didalam kode program subclass ronaldo, seperti berikut;

public void checkMovement()
    
  {    if (Greenfoot.isKeyDown(“right”)) {
       move(3);
    }
    if (Greenfoot.isKeyDown(“left”)) {
       move(-3);
    }
  }

  public void checkDirection(){
if (Greenfoot.isKeyDown(“up”)) {
       turn(-3);
    }
if (Greenfoot.isKeyDown(“down”)) {
       turn(3);
    }
  }

Panggil method tersebut dalam method act () dengan perinta;
chekMovement();
chekDirection();

Compile dan jika tidak ada kesalahan penulisan maka coba jalankan program dan lihat perubahan yang akan terjadi.

8.  Membuat objek (bola) sebagai target

Menciptakan objek bola pada subsclass cell, tambahkan kode program;

 numberofbola = Greenfoot.getRandomNumber(20);
                 for (int i = 0; i <= numberofbola; i++)
        {
            bola bola = new bola();
            addObject(bola, Greenfoot.getRandomNumber(350), Greenfoot.getRandomNumber(350));
        }
      }
      
    public int getNumberOfbola() {
        return numberofbola;
18

Jagan lupa, untuk memberikan class bola pada class cell. ( public int numberofbola; )
Berikut, hasil kode program.

15

9.  Mengambil TargetBuat method pada aktor dalam kasus ini yaitu actor ronaldo bertemu dengan bola.

pada act() berikan kode program;
if (foundbola()) {
             eatbola();

kemudian;

public boolean foundbola()  {
      Actor bola = getOneObjectAtOffset(0, 0, bola.class);
      if(bola !=null)  {
          return true;
        }  else  {
            return false;
        }
    }
    public void eatbola()  {
        Actor bola = getOneObjectAtOffset(0, 0, bola.class);
        if(bola !=null) {
            getWorld().removeObject(bola);
        }

19

10.  Objek (messi) sebagai halangan objek (ronaldo) untuk mengambil bolaUntuk membuat program ini, terlebih dahulu kita masuk ke open editor pada actor (messi), dengan program

public void act()
    {
        // Add your action code here.
         if (foundronaldo()) {
            eatronaldo();
        }
        if(canMove()) {
            move (3);
        } else {
            turn(180);
            move(5);
        }
            }

public boolean canMove()
{
World myWorld = getWorld();
int x = getX();

if (x >= (myWorld.getWidth() – 10)) {
return false;
} else if (x <= 10) {
return false;
} else {
return true;
}
}
public boolean foundronaldo() {
      Actor ronaldo = getOneObjectAtOffset(0, 0, ronaldo.class);
      if(ronaldo !=null) {
          return true;
        } else {
            return false;
        }
    }
        public void eatronaldo() {
        Actor wombat = getOneObjectAtOffset(0, 0, ronaldo.class);
        if(wombat !=null) {
        getWorld().removeObject(wombat);
        }
}
}

20

Compile dan jika tidak ada kesalahan penulisan maka coba jalankan program dan lihat perubahan yang akan terjadi.

Bagaimana teman-teman, mudahkan?😀

Semoga sedikit sharing ilmu ini, bisa menjadi inspirasi bagi teman-teman yang ingin berkarya sebagai programmer game🙂

7 responses to “Belajar Pemrograman Game Berorientasi Objek Menggunakan Greenfoot

  1. aldy pido 05/09/2013 pukul 2:57 AM

    Mantap brooo

    • rizqitohopi 12/09/2013 pukul 10:54 AM

      Hehe, mkasih kawan.

      Klu ada yang mau ditanyakan, insya Allah bisa dibantu🙂

  2. Elfath 21/09/2013 pukul 9:52 PM

    bro, mo nanya ni….
    =========================
    //membuat action gerak onta
    public void act(){
    gerak();
    }
    // gerakannya
    public void gerak(){
    String tombol=Greenfoot.getKey();
    if (tombol==”right”)
    setLocation(getX()+1,getY());
    if (tombol==”left”)
    setLocation(getX()-1,getY());
    if (tombol==”up”)
    setLocation(getX(),getY()-1);
    if (tombol==”down”)
    setLocation(getX(),getY()+1);
    }
    ————————————————-
    pas tak compile muncul error “cannot find symbol – method getX()”
    Bisa bantu gak?

    • rizqitohopi 23/09/2013 pukul 8:49 AM

      Maaf baru balas ya, soalnya lagi bnyak kegiatan😀

      Coba dibuat syntaxnya seperti ini

      // gerakannya
      public void gerak(){
      String tombol=Greenfoot.getKey();
      if (Greenfoot.isKeyDown(“right”)) {
      setLocation(getX()+1,getY());
      if (Greenfoot.isKeyDown(“left”)) {
      setLocation(getX()-1,getY());
      if (Greenfoot.isKeyDown(“up”)) {
      setLocation(getX(),getY()-1);
      if (Greenfoot.isKeyDown(“down”)) {
      setLocation(getX(),getY()+1);
      }

  3. jams 10/11/2013 pukul 7:24 PM

    keren infonya sob. ane juga mw share nih cara membuat aplikasi berbasis web menggunakan oop dengan php bisa kunjungi http://membuatwebsite.byethost17.com

    • rizqitohopi 10/11/2013 pukul 11:12 PM

      Thank’s gan🙂
      Postingannya juga membantu (y)

  4. Rismawatii Dewii 28/01/2014 pukul 9:00 PM

    kenapa ya itu yang no7 .
    public void tidak bnar ?

    terimakasih sblumnya🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: