Tutorial Greenfoot
Versi 1.0
untuk Greenfoot versi 1.0
Greenfoot merupakan lingkungan pengembangan Java(Java development environtment) yang bersifat interaktif dan didesain untuk tujuan pendidikan pada level SMA dan S1. Dengan program ini, seseorang dapat mengembangkan aplikasi grafis dua dimensi, seperti simulasi dan game interaktif.
Greenfoot dikembangkan oleh University of Kent danLa Trobe University, dengan dukungan dari Oracle. Software ini gratis, dirilis di bawah lisensi GPL. Greenfoot tersedia pada banyak platform, seperti MS Windows, Mac OS X, Linux, Sun Solaris, dan beberapa JVM terbaru.
Dengan greenfoot, seorang siswa/mahasiswa dapat belajar pemrograman berorientasi obyek menggunakan Java. Mereka dapat menciptakan 'actor' dalam suatu 'world'untuk membangun game, simulasi, dan program-program grafis lainnya.
Dengan greenfoot, seorang siswa/mahasiswa dapat belajar pemrograman berorientasi obyek menggunakan Java. Mereka dapat menciptakan 'actor' dalam suatu 'world'untuk membangun game, simulasi, dan program-program grafis lainnya.
Greenfoot bersifat visual dan interaktif. Perangkat visualisasi dan interaksi dibangun di dalam environment tersebut.Actor diprogram menggunakan kode Java yang standar, sehingga memberikan pengalaman pemrograman berbasis teks yang bersifat tradisional dengan eksekusi visual.
Antarmuka yang digunakan sepenuhnya menggunakan konsep IDE, dimana didalamnya terdapat manajemen proyek,auto-completion, syntax highlighting, dan tool-tool lain yang biasanya terdapat pada kebanyakan IDE. Hal ini memungkinkan seorang pemrogram mempublikasikan pekerjaannya baik secara online maupun offline. Meskipun demikian, antarmukanya didesain untuk tetap sederhana dan mudah digunakan, sehingga cocok untuk para pemula.
Greenfoot digunakan oleh ribuan institusi di seluruh dunia. Program ini memberikan peralihan yang mudah keenvironment lainnya, semacam BlueJ dan IDE-IDE profesional yang lain.
Program dalam greenfoot ditulis dengan bahasa Java standar, yang merupakan salah satu bahasa utama dalam dunia akademis dan industri. Software ini didesain agar cukup mudah bagi pemula. Dengan digunakannya Java, memungkinkan seorang programmer membuat aplikasi yang impresif, fleksibel, dan canggih.
Software ini memang cocok bagi siswa/mahasiswa yang ingin belajar dan memperdalam baik secara konsep maupun praktik pemrograman berorientasi obyek. Software tersebut dapat didownload pada alamat inihttp://www.greenfoot.org/daownload, yang tersedia dalam berbagai platform sistem operasi. Beberapa contoh program dapat didownload pada alamat ini: http://www.greenfoot.org/book/material/book-scenarios.zip.
Software ini memang cocok bagi siswa/mahasiswa yang ingin belajar dan memperdalam baik secara konsep maupun praktik pemrograman berorientasi obyek. Software tersebut dapat didownload pada alamat inihttp://www.greenfoot.org/daownload, yang tersedia dalam berbagai platform sistem operasi. Beberapa contoh program dapat didownload pada alamat ini: http://www.greenfoot.org/book/material/book-scenarios.zip.
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
Kemudian akan muncul kotak dialog, dimana teman-teman akan menyimpan diamana hasil kerja teman-teman.
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).
Akan muncul kotak dialog;
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.
Klik kanan pada cell kemudian pilih open editor, maka akan ta;mpil tampilan kode program class word dalam hal ini cell
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.
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
5. Menempatkan objek dalam subclaass cell. Klik kanan pada cell kemudian pilih open editor
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);
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.
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);
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);
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;
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);
}
}
{ 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);
}
}
if (Greenfoot.isKeyDown(“up”)) {
turn(-3);
}
if (Greenfoot.isKeyDown(“down”)) {
turn(3);
}
}
Panggil method tersebut dalam method act () dengan perinta;
chekMovement();
chekDirection();
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;
for (int i = 0; i <= numberofbola; i++)
{
bola bola = new bola();
addObject(bola, Greenfoot.getRandomNumber(350), Greenfoot.getRandomNumber(350));
}
}
public int getNumberOfbola() {
return numberofbola;
Jagan lupa, untuk memberikan class bola pada class cell. ( public int numberofbola; )
Berikut, hasil kode program.
Berikut, hasil kode program.
9. Mengambil TargetBuat method pada aktor dalam kasus ini yaitu actor ronaldo bertemu dengan bola.
pada act() berikan kode program;
if (foundbola()) {
eatbola();
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);
}
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);
}
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);
}
}
{
// 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();
{
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);
}
}
}
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);
}
}
}
Tidak ada komentar:
Posting Komentar