12
Pengenalan GREENFOOT Pemrograman Game Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2012

Pengenalan GREENFOOT

  • Upload
    jaeger

  • View
    142

  • Download
    4

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Pengenalan  GREENFOOT

Pengenalan GREENFOOTPemrograman Game

Eko PrasetyoTeknik Informatika

Univ. Pembangunan Nasional Veteran Jawa Timur2012

Page 2: Pengenalan  GREENFOOT

2

Greenfoot

Page 3: Pengenalan  GREENFOOT

3

Skenario game

Object World

Instansiasi kelas (objek) Kelas

World

Class DIagram

Kontrol eksekusi

Compile source code

Pengatur kecepatan

Page 4: Pengenalan  GREENFOOT

4

Greenfoot Skenario berguna untuk mengilustrasikan interaksi

antara obyek (konsep Object Oriented) dalam game. Ada 2 kelas dasar dalam Greenfoot: World dan Actor. World (Dunia):

◦ Lingkungan (daerah) paling luas (window) yang meng-cover semua bagian aplikasi.

◦ Tempat aktor beraksi dan berinteraksi antar aktor Actor (Pelaku):

◦ Obyek (aktor) dalam World yang tampil seolah hidup dan berinteraksi dengan objek yang lain.

◦ Menggunakan konsep OOP secara penuh. Class Diagram: Berisi kontrol hierarki kelas aktor. Kontrol eksekusi:

◦ Act: Aktor menjalankan aktivitasnya 1 kali.◦ Run: Aktor menjalankan aktivitasnya secara terus menerus.◦ Reset: Mengembalikan susunan skenario ke kondisi awal.

Page 5: Pengenalan  GREENFOOT

5

Skenario 1: Ikan dan Orang

Aktor ikan1 bergerak dari kiri ke kanan.

Aktor ikan2 bergerak dari kanan ke kiri.

Jika ikan mencapai tepi lingkungan maka muncul disisi seberang (seolah akuarium melingkar).

Aktor orang, dapat bergerak ke atas dan kebawah, dapat mengeluarkan peluru.

Page 6: Pengenalan  GREENFOOT

6

Aktivitas Aktor Ikan

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()); } }

Gerak ke kanan

Gerak ke kiri

Kelas Ikan

protected int langkah=1; Deklarasi properti pada level kelas Ikan

Page 7: Pengenalan  GREENFOOT

7

Aktivitas Aktor Ikan

public void balik() { if (Greenfoot.isKeyDown("a")) { langkah = -langkah; } };

Balik arah

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); } }

Panggil fungsi di kelas Ikan1

Method (behaviour) yang terus dijalankan oleh greenfoot selama aplikasi dijalankan.

Page 8: Pengenalan  GREENFOOT

8

Library method aktor dalam Greenfoot

void setLocation(X,Y)

int getX()

int getY()

boolean Greenfoot.isKeyDown(String karakter)

getWorld().getWidth()

void setDirection(int direction)

getWorld(). getHeight()

getWorld().addObject(new Class(),X,Y)

getWorld().removeObject(this);

Menetapkan posisi aktor pada koordinat X,Y

Mendapatkan koordinat X obyek pada saat ituMendapatkan koordinat Y obyek pada saat itu

Memeriksa tombol keyboard yang ditekan

Mendapatkan lebar lingkungan

Mendapatkan tinggi lingkungan

Membuat obyek baru

Menghapus obyek

Page 9: Pengenalan  GREENFOOT

9

Aktivitas aktor Orang 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); }; }

Gerak ke atas atau ke bawah

Mengeluarkan peluru (menembak)

Page 10: Pengenalan  GREENFOOT

10

Aktivitas aktor Peluru

public void act() { // Add your action code here. gerak(); } public void gerak() { setLocation(getX()+1,getY()); if (getX() >= getWorld().getWidth()-10) { getWorld().removeObject(this); } };

Jika peluru sudah sampai di ujung, maka dihapus

Page 11: Pengenalan  GREENFOOT

11

Game Little-Crab

Skenario: Kepiting makan cacing, jika menabrak lobster maka kepiting mati dan membunyikan suara.

Page 12: Pengenalan  GREENFOOT

12

SAATNYA ANDA MEMBUAT GAME(PERILAKU AKTOR)

Tugas I