Cara Membuat Game Sederhana Mengunakan Greenfoot
Rabu, 15 Juni 2016
Gambaran Umum Game
• Game ini memiliki skenario sederhana yaitu 1 aktor Gajah yang lapar harus memakan buah apel tanpa harus mengenai batu.
• Game terdiri dari 1 scene dimana bilamana gajah terkena batu maka skor akan berkurang.
Langkah Pembuatan
Langkah Pembuatannya adalah sebagai berikut :
Letakan semua gambar yang akan digunakan di folder dengan nama images.
*Semua image berformat .png
Letakan semua file suara di folder sounds.
Buat subclass-subclass...
Selanjutnya Coding di world
import greenfoot.*; // imports Actor, World, Greenfoot, GreenfootImage
public class GajahWorld extends World
{
private int GajahWorld=200;
private int value;
/**
* Create the turtle world. Our world has a size
* of 560x460 cells, where every cell is just 1 pixel.
*/
public GajahWorld()
{
super(720, 600, 1);
SunnySideUp();
prepare();
putingEgg();
BatoBatosaLangit();
//Greenfoot.playSound("chicken.mp3");
}
public void act()
{
if (getObjects(redapple.class).isEmpty()) SunnySideUp();
if (getObjects(greenapple.class).isEmpty()) putingEgg();
if (getObjects(Rock.class).isEmpty()) BatoBatosaLangit();
}
private void prepare()
{
gajah Gajah = new gajah();
addObject(Gajah, 300, 300);
Counter2 counter2 = new Counter2();
addObject(counter2, 57, 69);
Score score = new Score();
addObject(score, 64, 44);
score.setLocation(59, 44);
Gajah.setLocation(600, 530);
}
public void SunnySideUp()
{
if(Greenfoot.getRandomNumber(2) < 50)
{
addObject(new redapple(), Greenfoot.getRandomNumber(519),20);
}
}
public void putingEgg()
{
if(Greenfoot.getRandomNumber(2) < 50)
{
addObject(new greenapple(), Greenfoot.getRandomNumber(519),21);
}
}
public void BatoBatosaLangit()
{
if(Greenfoot.getRandomNumber(2) < 50)
{
addObject(new Rock(), Greenfoot.getRandomNumber(519),21);
}
}
public void GameOver()
{
if (value == GajahWorld)
{
//setImage(new GreenfootImage("Level 2 Complete", 18, Color.YELLOW, Color.BLACK));
Greenfoot.stop();
Greenfoot.delay(20);
Greenfoot.setWorld(new GameOver());
System.out.println("Selamat Anda Menang");
}
}
}
Coding Game Over
import greenfoot.*;
public class GameOver extends World
{
public GameOver()
{
super(720, 600, 1);
Greenfoot.playSound("levelEnd.wav");
prepare();
}
private void prepare()
{
Tamat end = new Tamat();
addObject(end, 395, 237);
end.setLocation(400, 279);
Playagain playAgain = new Playagain();
addObject(playAgain, 405, 329);
playAgain.setLocation(392, 361);
end.setLocation(360, 290);
playAgain.setLocation(392, 361);
}
}
Coding Turtleworld
import greenfoot.*; // imports Actor, World, Greenfoot, GreenfootImage
public class TurtleWorld extends World
{
public TurtleWorld()
{
super(720, 600, 1);
SunnySideUp();
prepare();
putingEgg();
BatoBatosaLangit();
}
public void act()
{
if (getObjects(redapple.class).isEmpty()) SunnySideUp();
if (getObjects(greenapple.class).isEmpty()) putingEgg();
if (getObjects(Rock.class).isEmpty()) BatoBatosaLangit();
}
private void prepare()
{
gajah Gajah = new gajah();
addObject(Gajah, 300, 300);
Counter2 counter2 = new Counter2();
addObject(counter2, 57, 69);
Score score = new Score();
addObject(score, 64, 44);
score.setLocation(59, 44);
Gajah.setLocation(600, 530);
}
public void SunnySideUp()
{
if(Greenfoot.getRandomNumber(2) < 50)
{
addObject(new redapple(), Greenfoot.getRandomNumber(519),20);
}
}
public void putingEgg()
{
if(Greenfoot.getRandomNumber(2) < 50)
{
addObject(new greenapple(), Greenfoot.getRandomNumber(519),21);
}
}
public void BatoBatosaLangit()
{
if(Greenfoot.getRandomNumber(2) < 50)
{
addObject(new Rock(), Greenfoot.getRandomNumber(519),21);
}
}
}
Koding Win
import greenfoot.*;
public class Win extends World
{
public Win()
{
super(720, 600, 1);
}
}
Langganan:
Posting Komentar (Atom)
3 komentar:
kan udah milih actornya kan formatnya png kan, lah itu kalo actornya besar ngecilinnya gmn caranya???
makasih
Terimakasih... Semoga bermanfaat,,,
cual es el codigo para que la piedra y el alimento baje de arriba hacia abajo para que el elefande se alimente
Posting Komentar