cahyosuminar.files.wordpress.com · web view1.membuat path ( jalur lintasan) 2.memasukka musuh dan...

Post on 26-Apr-2018

227 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Buat Labirin / Maze

Proses pembuatan game labirin, dilakukan dengan langkah1.Membuat Path ( jalur lintasan)2.Memasukka musuh dan event pada musuh3.Memasukkan lakon dan even lakon.

Contoh :Buatlah game labirin , pada game tersebut seorang anak akan memindahkan tong dari tempatnya sampai ke rumah ( tujuan ). Selama memindah tidak boleh tersentuh ular atau menyentuh ular.Jika menyentuh ular atau tersentuh ular maka kalah.

Langkah mengerjakan:1. Buat project/ scenario2. Tambahkan world dengan nama Bg

Tekan Ok, lakukan compile

3. Buat actor Batas, untuk membuat path lintasan labirin

- Ok, Compile,

- Buat lintasan dengan menambhakan objek Batasnya pada class world, clik kanan pada actor batasnya.

- Drag ke World

- Lakukan lagi sampai membentuk lintasan yang diinginkan , seperti dibawah

- Simpan

4. Siapkan actor anak (dari greeenfoot)

5. Mencatat titik perpotongan,untuk supaya musuh bisa berbelok sendiri. Dengan memanfaatkan actor oranga.Buat objek actor orang,b.drag actor orang ke titik perpotongan.

a. Save the world

b. Clik kanan Actor World Bg, untuk Lihat source codenya,

c. Open Editor

d. Catat angka yang berada di

Orang.setLocation(160,124)

e. Hapus

f. Compile lagig. Lakukan langkah yang sama untuk tiap titip pertemuan(langkah b-h)

6. Tempatkan actor orang di posisi mulai game berjalan.

Save the world

7. Siapkan Gambar tong(dari Greenfoot), dalam contoh ini diberi nama Poin

- Drag point dilokasi akan diletakan

8. Buat actor untuk keluar (tujuan orang membawa tong ).

- Ok , compaile- Buat Class keluar ,clik kanan actor keluar, drag ke posisi akan ditempatkan

9. Buat actor musuh ,

-ok-compile-buat objek Musuh

- Drag Kelokasi awal musuh, saat game dimulai

10. Membuat actor Kalah, untuk evek tampilan jika kalah-siapkan gambar -letakkan di folder image- Buat actor kalah dengan gambar tadi

-ok , compile

11. Membuat actor Menang, untuk evek tampilan jika Menang- siapkan gambar - letakkan di folder image- Buat actor Menang dengan gambar tadi

- Ok,Compile

12. Sehingga hasil actor dari scenario , jadi seperti dibawah:

13. Memberi Koding Pada Musuh

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

/** * Write a description of class Musuh here. * * @author (Didik Nugroho) * @version (a version number or a date) */public class Musuh extends Actor{ private int arah=1; private int spped=1; /** * Act - do whatever the Kura wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ // gerak private void jalan(int arah) { if(arah==1){setRotation(0);setLocation(getX()+spped,getY());}

if(arah==2){setRotation(180);setLocation(getX()-spped,getY());} if(arah==3){setRotation(90);setLocation(getX(),getY()+spped);} if(arah==4){setRotation(270);setLocation(getX(),getY()-spped);} }

//ceka batas_Latar private void cek_batas() { if(getX()>=getWorld().getWidth()-10){arah=2; } if(getX()<10){arah=1; } if(getY()>=getWorld().getHeight()-10){arah=4; } if(getY()<10){arah=3; }

}

//cek perpotonganprivate void cek_potongan() { if(getX()== 141 && getY()==96){ arah=Greenfoot.getRandomNumber(5); } if(getX()== 453 && getY()==96){ arah=Greenfoot.getRandomNumber(5); } if(getX()== 141 && getY()==273){ arah=Greenfoot.getRandomNumber(5); } if(getX()== 453 && getY()==273){ arah=Greenfoot.getRandomNumber(5); } }

public void cek_nubrukOrang(){ Actor gr = getOneIntersectingObject(Orang.class); if(gr!=null ){ getWorld().removeObject(gr); Kalah k = new Kalah(); getWorld().addObject(k, 275, 175); Greenfoot.stop(); } }

public void act() { // Add your action code here. jalan(arah); cek_batas(); cek_potongan(); cek_nubrukOrang(); } }

14. Memberi koding pada orangimport greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/** * Write a description of class Orang here. * * @author (your name) * @version (a version number or a date) */public class Orang extends Actor{ private int speed=2; /** * Act - do whatever the Orang 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. cek_tombol(); cek_Point(); } private void cek_tombol() { if(Greenfoot.isKeyDown("left")){setLocation(getX()-speed,getY());kiri_nubruk();} if(Greenfoot.isKeyDown("right")){setLocation(getX()+speed,getY());kanan_nubruk();} if(Greenfoot.isKeyDown("up")){setLocation(getX(),getY()-speed);atas_nubruk();} if(Greenfoot.isKeyDown("down")){setLocation(getX(),getY()+speed);bawah_nubruk();} } public void kanan_nubruk() { Actor gr = getOneIntersectingObject(Batasnya.class); if(gr!=null ){setLocation(getX()-speed,getY());} } public void kiri_nubruk(){ Actor gr = getOneIntersectingObject(Batasnya.class); if(gr!=null ){setLocation(getX()+speed,getY());} } public void atas_nubruk(){ Actor gr = getOneIntersectingObject(Batasnya.class); if(gr!=null ){setLocation(getX(),getY()+speed);}} public void bawah_nubruk(){ Actor gr = getOneIntersectingObject(Batasnya.class); if(gr!=null ){setLocation(getX(),getY()-speed);} }

public void cek_Point(){ Actor gr = getOneIntersectingObject(Point.class); if(gr!=null ){ gr.setLocation(getX(), getY()-35); } } }

15. Memberi Koding pada point untuk cek apakah Point telah sampai tujuan.import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/** * Write a description of class Point here. * * @author (your name) * @version (a version number or a date) */public class Point extends Actor{ /** * Act - do whatever the Point 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. cek_Keluar(); } public void cek_Keluar(){ Actor gr = getOneIntersectingObject(Keluar.class); if(gr!=null ){ Menang menang = new Menang(); getWorld().addObject(menang, 275, 175); Greenfoot.stop(); }

}}

top related