Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.7 kB
1
Indexable
import greenfoot.*;

public class Play extends World {
    static Counter score = new Counter("score");
    static Counter health = new Counter("health");
    static int currentLevel = 1;

    public Play() {
        super(300, 500, 1);
        prepare();
    }

    private void prepare() {
        // ... (kode persiapan lainnya)

        addObject(score, 40, 30);
        score.setValue(0);

        addObject(health, 260, 30);
        health.setValue(5);
        doraemon doraemon = new doraemon();
        addObject(doraemon,148,337);
        doraemon.setLocation(152,446);
    }

    public void act() {
        // ... (kode act lainnya)

        if (Greenfoot.getRandomNumber(500) < 3) {
            addObject(new dorayaki(), Greenfoot.getRandomNumber(1000), 1);
        }

        if (Greenfoot.getRandomNumber(800) < 3) {
            addObject(new tikus(), Greenfoot.getRandomNumber(500), 1);
        }

        if (health.getValue() == 0) {
            Greenfoot.setWorld(new game_over());
        }

        checkLevelUp();
    }

    private void checkLevelUp() {
        // Tentukan kapan pemain harus naik ke level berikutnya
        if (score.getValue() >= 50 * currentLevel) {
            // Naik ke level berikutnya
            currentLevel++;
            // Lakukan tindakan sesuai dengan naiknya level (mungkin menambahkan objek atau mengubah suasana)
            // Contoh:
            showText("Level " + currentLevel, getWidth() / 2, getHeight() / 2);
            Greenfoot.delay(100       ); // Tunggu sejenak agar pemain melihat pesan level
            // Bersihkan pesan level
            showText("", getWidth() / 2, getHeight() / 2);
        }
    }
}
Leave a Comment