Pengenalan GREENFOOT
Pengenalan GREENFOOT. Pemrograman Game. Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2012. Greenfoot. Skenario game. Object World. Instansiasi kelas ( objek ). Kelas World. Class DIagram. Kontrol eksekusi. Pengatur kecepatan.
Pengenalan GREENFOOT
E N D
Presentation Transcript
Pengenalan GREENFOOT Pemrograman Game Eko Prasetyo TeknikInformatika Univ. Pembangunan Nasional Veteran JawaTimur 2012
Skenario game Object World Instansiasikelas (objek) Kelas World Class DIagram Kontroleksekusi Pengaturkecepatan Compile source code
Greenfoot • Skenariobergunauntukmengilustrasikaninteraksiantaraobyek (konsep Object Oriented) dalam game. • Ada 2 kelasdasardalamGreenfoot: World dan Actor. • World (Dunia): • Lingkungan (daerah) paling luas (window) yang meng-cover semuabagianaplikasi. • Tempataktorberaksidanberinteraksiantaraktor • Actor (Pelaku): • Obyek (aktor) dalam World yang tampilseolahhidupdanberinteraksidenganobjek yang lain. • Menggunakankonsep OOP secarapenuh. • Class Diagram: Berisikontrolhierarkikelasaktor. • Kontroleksekusi: • Act: Aktormenjalankanaktivitasnya 1 kali. • Run: Aktormenjalankanaktivitasnyasecaraterusmenerus. • Reset: Mengembalikansusunanskenariokekondisiawal.
Skenario 1: IkandanOrang • Aktor ikan1 bergerakdarikirikekanan. • Aktor ikan2 bergerakdarikanankekiri. • Jikaikanmencapaitepilingkunganmakamunculdisisiseberang (seolahakuariummelingkar). • Aktororang, dapatbergerakkeatasdankebawah, dapatmengeluarkanpeluru.
AktivitasAktorIkan KelasIkan Deklarasipropertipada level kelasIkan protected int langkah=1; public void gerak1(int step) { if (getX() >= getWorld().getWidth()-10) { setLocation(10,getY()); }else { setLocation(getX()+step,getY()); } } public void gerak2(int step) { if (getX() <= 10) { setLocation(getWorld().getWidth()-10,getY()); }else { setLocation(getX()+step,getY()); } } Gerakkekanan Gerakkekiri
AktivitasAktorIkan public void balik() { if (Greenfoot.isKeyDown("a")) { langkah = -langkah; } }; Balikarah Panggilfungsidikelas Ikan1 public class Ikan1 extends Ikan { /** * Act - do whatever the Ikan1 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. balik(); gerak1(langkah); } } Method (behaviour) yang terusdijalankanolehgreenfootselamaaplikasidijalankan.
Library method aktordalamGreenfoot void setLocation(X,Y) Menetapkanposisiaktorpadakoordinat X,Y intgetX() Mendapatkankoordinat X obyekpadasaatitu intgetY() Mendapatkankoordinat Y obyekpadasaatitu booleanGreenfoot.isKeyDown(String karakter) void setDirection(int direction) Memeriksatombol keyboard yang ditekan getWorld().getWidth() Mendapatkanlebarlingkungan getWorld().getHeight() Mendapatkantinggilingkungan getWorld().addObject(new Class(),X,Y) Membuatobyekbaru Menghapusobyek getWorld().removeObject(this);
AktivitasaktorOrang public void act() { // Add your action code here. gerak(); tembak(); } public void gerak(){ if (Greenfoot.isKeyDown("r")) { setLocation(getX(),getY()-1); } else if (Greenfoot.isKeyDown("c")) { setLocation(getX(),getY()+1); } } public void tembak() { int X = getX(); int Y = getY(); if (Greenfoot.isKeyDown("p")) { getWorld().addObject(new Peluru(),X,Y); }; } Gerakkeatasataukebawah Mengeluarkanpeluru (menembak)
AktivitasaktorPeluru public void act() { // Add your action code here. gerak(); } public void gerak() { setLocation(getX()+1,getY()); if (getX() >= getWorld().getWidth()-10) { getWorld().removeObject(this); } }; Jikapelurusudahsampaidiujung, makadihapus
Game Little-Crab • Skenario: Kepitingmakancacing, jikamenabrak lobster makakepitingmatidanmembunyikansuara.
Tugas I Saatnyaandamembuatgame(PerilakuAktor)