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

3 komentar:

Unknown mengatakan...

kan udah milih actornya kan formatnya png kan, lah itu kalo actornya besar ngecilinnya gmn caranya???


makasih

Unknown mengatakan...

Terimakasih... Semoga bermanfaat,,,

Anonim mengatakan...

cual es el codigo para que la piedra y el alimento baje de arriba hacia abajo para que el elefande se alimente