cara membuat game melaui green foot "monkey in paper"

12
Membuat Project Greenfoot ‘Monkey in Paper’ Pada kesempatan kali ini akan dibuat sebuah aplikasi game yang berjudul ‘Monkey in Paper’. Game ini dibuat dengan aplikasi Greenfoot. Game ini diberi nama Monkey in Paper karena pada seluruh pembuatan game ini objek serta penggunaan background-nya berwarna hitam dan putih seperti di atas sebuah kertas. Jadilah judul ‘Monkey in Paper’ ini diambil. Secara umum, game ini sangatlah mudah dan dapat dimainkan oleh siapa saja. Ada sebuah objek yaitu seekor monyet yang membawa keranjang. Tugas dari monyet tersebut adalah menangkap objek yang harus ditangkap yaitu pisang. Setiap pisang yang ditangkap bernilai 10. Ada satu objek lain yaitu bom. Dimana bom itu akan menyebabkan score berkurang apabila monyet mengenainya. Score akan berkurang sesuai dengan lamanya monyet mengenai bom tersebut. Game akan selesai apabila score telah mencapai angka 50. Berikut pembahasan serta langkah untuk membuat game ‘Monkey in Paper’ ini: 1. Buka Greenfoot. Pada World Classes buat new subclass dengan cara klik kanan pada World new subclass…. Pilih Beri nama kelas dengan nama ‘Paper’. Lalu pilih image untuk dijadikan background. Lalu klik OK.

Upload: imam-wardinanda

Post on 08-Jul-2015

1.449 views

Category:

Education


18 download

TRANSCRIPT

Page 1: Cara membuat game melaui green foot "Monkey in paper"

Membuat Project Greenfoot

‘Monkey in Paper’

Pada kesempatan kali ini akan dibuat sebuah aplikasi game yang berjudul

‘Monkey in Paper’. Game ini dibuat dengan aplikasi Greenfoot. Game ini diberi

nama Monkey in Paper karena pada seluruh pembuatan game ini objek serta

penggunaan background-nya berwarna hitam dan putih seperti di atas sebuah kertas.

Jadilah judul ‘Monkey in Paper’ ini diambil.

Secara umum, game ini sangatlah mudah dan dapat dimainkan oleh siapa saja.

Ada sebuah objek yaitu seekor monyet yang membawa keranjang. Tugas dari monyet

tersebut adalah menangkap objek yang harus ditangkap yaitu pisang. Setiap pisang

yang ditangkap bernilai 10. Ada satu objek lain yaitu bom. Dimana bom itu akan

menyebabkan score berkurang apabila monyet mengenainya. Score akan berkurang

sesuai dengan lamanya monyet mengenai bom tersebut. Game akan selesai apabila

score telah mencapai angka 50.

Berikut pembahasan serta langkah untuk membuat game ‘Monkey in Paper’

ini:

1. Buka Greenfoot. Pada World Classes buat new subclass dengan cara klik

kanan pada World � new subclass…. Pilih Beri nama kelas dengan nama

‘Paper’. Lalu pilih image untuk dijadikan background. Lalu klik OK.

Page 2: Cara membuat game melaui green foot "Monkey in paper"

Gambar 1. New Class

Gambar 2. World

2. Pada Actor Classes buat new subclass dengan cara klik kanan pada Actor �

new subclass…. Beri nama kelas dengan nama ‘Objek’. Lalu klik OK.

3. Pada Class Objek, buat subclass baru dengan cara klik kanan pada ‘Objek’ �

new subclass…. Beri nama kelas dengan nama ‘Monkey’ Lalu klik OK.

Lalukan hal yang sama untuk membuat subclass ‘Banana’ dan ‘Bomb’.

Page 3: Cara membuat game melaui green foot "Monkey in paper"

4. Buat juga subclass baru pada Actor dengan nama ‘Score’ dan ‘Counter’

Gambar 3. World

5. Lalu pada World Classes ‘Paper’, klik kanan, pilih Open Editor.

Source code pada World Classes Paper:

import greenfoot.*; // import World, Actor, GreenfootImage,

Greenfoot

/**

* Write a description of class Paper here.

*

* @author (your name)

* @version (a version number or a date)

*/

public class Paper extends World

{

/**

* Constructor untuk objects dari class Paper.

*/

public Paper()

{

// Buat world dengan ukuran 720x480 cells dengan cell size

1x1 pixels

super(720, 480, 1);

BananaAppear(); //method BananaAppear

prepare(); //method prepare

BombAppear(); //method BombAppear

}

public void act() //method act

{

Page 4: Cara membuat game melaui green foot "Monkey in paper"

if (getObjects(Banana.class).isEmpty()) BananaAppear();

if (getObjects(Bomb.class).isEmpty()) BombAppear();

}

private void prepare() //method prepare untuk menentukan posisi

dari kelas objek masing-masing

{

Monkey monkey = new Monkey();

addObject(monkey, 648, 403);

Counter counter = new Counter();

addObject(counter, 57, 69);

Score score = new Score();

addObject(score, 64, 44);

score.setLocation(59, 44);

monkey.setLocation(373, 403);

}

public void BananaAppear() //method BananaAppear

{

if(Greenfoot.getRandomNumber(2) < 50)

{

addObject(new Banana(),

Greenfoot.getRandomNumber(519),20);

}

}

public void BombAppear() //method BombAppear

{

if(Greenfoot.getRandomNumber(2) < 50)

{

addObject(new Bomb(),

Greenfoot.getRandomNumber(519),21);

}

}

}

6. Lalu pada Kelas Objek, klik kanan, pilih Open Editor.

Source code pada Kelas Objek:

import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and

MouseInfo)

/**

* Write a description of class Objek here.

*

* @author (your name)

* @version (a version number or a date)

*/

//Konstruktor Objek pada World Actor

public class Objek extends Actor

{

public boolean atWorldEdge()

{

Page 5: Cara membuat game melaui green foot "Monkey in paper"

if(getX() < 10 || getX() > getWorld().getWidth() - 10)

return true;

if(getY() < 10 || getY() > getWorld().getHeight() - 10)

return true;

else

return false;

}

/**

* true bila kita dapat melihat objek 'clss' class dari Object

* false bila tidak ada object

*/

public boolean canSee(Class clss)

{

Actor actor = getOneObjectAtOffset(0, 0, clss);

return actor != null;

}

/**

* Method untuk memakan objek dari kelas 'clss'. Method 'eat'

akan dilakukan bila

* objek yang dimaksud ada. Selain objek tersebut, method tidak

dilakukan

*/

public void eat(Class clss)

{

Actor actor = getOneObjectAtOffset(0, 0, clss);

if(actor != null) {

getWorld().removeObject(actor);

}

}

}

7. Lalu pada Kelas Objek, subclass Bomb, klik kanan, pilih Open Editor.

Source code pada Kelas Objek, Subclass Bomb:

import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and

MouseInfo)

/**

* Write a description of class Rock here.

*

* @author (your name)

* @version (a version number or a date)

*/

public class Bomb extends Objek

{

/**

* Act - do whatever the Bomb wants to do. This method is called

whenever

* the 'Act' or 'Run' button gets pressed in the environment.

*/

public void act()

Page 6: Cara membuat game melaui green foot "Monkey in paper"

{

setLocation(getX(), getY()+5);

Bombing();

}

public void Bombing() //method Bombing

{

if (canSee(Monkey.class)) //bila melihat kelas Monkey

{

((Counter)getWorld().getObjects(Counter.class).get(0)).Counting(-1);

//kelas Count dikurangi sebanyak 1 poin

Greenfoot.playSound("boom.wav"); //Mainkan sound

boom.wav

}

if (atWorldEdge()) //bila objek berada di bawah world

{

getWorld().removeObject(this); //remove object

}

}

}

8. Lalu pada Kelas Objek, subclass Banana, klik kanan, pilih Open Editor.

Source code pada Kelas Objek, Subclass Banana :

import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and

MouseInfo)

/**

* Write a description of class Banana here.

*

* @author (your name)

* @version (a version number or a date)

*/

public class Banana extends Objek

{

/**

* Act - do whatever the Banana wants to do. This method is

called whenever

* the 'Act' or 'Run' button gets pressed in the environment.

*/

private int timer=0;

public void act() //method act

{

setLocation(getX(), getY()+6); //posisi objek banana,

kecepatan banana = +6

BananaFall(); //lakukan method BananaFall

}

public void BananaFall() //method BananaFall

{

if (atWorldEdge()) //jika objek banana berada di bawah

world

{

Page 7: Cara membuat game melaui green foot "Monkey in paper"

getWorld().removeObject(this); // remove objek

banana

Greenfoot.playSound("bananafall.wav"); // mainkan

sound bananafall.wav

}

}

}

9. Lalu pada Kelas Objek, subclass Monkey, klik kanan, pilih Open Editor.

Source code pada Kelas Objek, Subclass Monkey:

import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and

MouseInfo)

/**

* Write a description of class Monkey here.

*

* @author (your name)

* @version (a version number or a date)

*/

public class Monkey extends Objek

{

/**

* Act - do whatever the Monkey wants to do. This method is

called whenever

* the 'Act' or 'Run' button gets pressed in the environment.

*/

public void act() //method act

{

moveMonkey(); //method moveMonkey

objectDisappear(); //method objectDisappear

}

public void objectDisappear() //method objectDisappear

{

if (canSee(Banana.class)) //bila melihat kelas objek banana

{

eat(Banana.class); //eat kelas objek banana

((Counter)getWorld().getObjects(Counter.class).get(0)).Counting(10);

// kelas counter ditambah sebanyak 10 poin

Greenfoot.playSound("score.wav"); // mainkan sound

score.wav

}

}

public void moveMonkey() //method moveMonkey

{

if (Greenfoot.isKeyDown("left")) //bila arah panah ke kiri

ditekan

{

move(-7); //bergerak ke -7

}

Page 8: Cara membuat game melaui green foot "Monkey in paper"

if (Greenfoot.isKeyDown("right")) //bila arah panah ke kanan

ditekan

{

move(7); //bergerak ke 7

}

}

}

10. Pada Kelas Counter, klik kanan, pilih Open Editor.

Source code pada Kelas Counter:

import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and

MouseInfo)

import java.awt.Color; //untuk pengaturan warna

/**

* Write a description of class Counter here.

*

* @author (your name)

* @version (a version number or a date)

*/

public class Counter extends Actor

{

/**

* Act - do whatever the Counter wants to do. This method is

called whenever

* the 'Act' or 'Run' button gets pressed in the environment.

*/

private int totalCount = 0; // Counter default awal = 0

public void act() //method act

{

gameOver(); //method gameOver

}

public Counter() //kelas Counter

{

setImage(new GreenfootImage("0", 30, Color.WHITE,

Color.BLACK)); //membuat tampilan counter dengan ukuran awal 30,

tulisan warna putih, backgroun hitam

}

public void Counting (int hitung) // method Counting

{

totalCount += hitung;

setImage(new GreenfootImage("" + totalCount, 30,

Color.WHITE, Color.BLACK)); //membuat tampilan perubahan counter

dengan ukuran awal 30, tulisan warna putih, backgroun hitam

}

public void gameOver() //method gameOver

{

if (totalCount >= 50) //bila totalCount >= 50

{

Greenfoot.stop(); // stop permainan

Greenfoot.playSound("tada.wav"); //mainkan sound

tada.wav

Page 9: Cara membuat game melaui green foot "Monkey in paper"

System.out.println("CONGRATULATION! YOU WON! Click RESET

to play again"); //tampilkan tulisan ini

}

}

}

11. Pada Kelas Score, klik kanan, pilih Open Editor.

Source code pada Kelas Score:

import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and

MouseInfo)

/**

* Write a description of class Score here.

*

* @author (your name)

* @version (a version number or a date)

*/

public class Score extends Actor

{

/**

* Act - do whatever the Score wants to do. This method is

called whenever

* the 'Act' or 'Run' button gets pressed in the environment.

*/

public void act()

{

// Add your action code here.

}

}

12. Setelah di Compile dan terdapat tulisan No Syntax Error maka program siap

dijalankan. Klik Run , maka game akan berjalan.

Page 10: Cara membuat game melaui green foot "Monkey in paper"

Tampilan Jalannya Game ‘Monkey in Paper’

1. Game ‘Monkey in Paper’ terdiri atas beberapa objek yaitu objek banana,

bomb, dan monkey. Terdapat pula Score untuk menghitung counter nilai yang

didapatkan.

Gambar 4. Tampilan Utama

2. Objek Monkey dapat digerakkan ke kanan maupun ke kiri sesuai keinginan

untuk menangkap objek banana dan menghindari objek bomb.

Gambar 5. Objek Monkey dapat digerakkan ke kanan dan kiri

COUNTER

SCORE

BOMB

BANANA

MONKEY’s

BASKET

Page 11: Cara membuat game melaui green foot "Monkey in paper"

Gambar 6. Objek Monkey digerakkan ke kanan

Gambar 7. Objek Monkey digerakkan ke kiri

3. Apabila Monkey menangkap Banana, maka score akan bertambah sebanyak

10 point.

Gambar 8. Objek Monkey menangkap objek Banana

BANANA

MOVE TO

RIGHT

MOVE TO

LEFT

Page 12: Cara membuat game melaui green foot "Monkey in paper"

4. Namun apabila Monkey mengenai objek Bomb, maka Score akan berkurang

sebanyak Monkey mengenai Bomb tersebut.

Gambar 9. Objek Monkey mengenai Objek Bomb

5. Apabila Score lebih dari sama dengan 50 poin, maka game selesai. Dan akan

muncul terminal window seperti gambar di bawah ini.

Gambar 10. Score lebih dari sama dengan 50 poin, game selesai

13. Untuk menjalankan game ini lagi, klik Reset Lalu klik Run

BOMB

SCORE >= 50