PUSH PUZZLE

Tujuan Pembuatan Game:

Game Push Puzzle ini merupakan game mobile yang berguna untuk mengasah otak. Game ini membutuhkan sedikit tingkat konsentrasi agar dapat mencapai tujuan yang di inginkan dengan jarak yang tidak terlalu banyak langkah. game ini tidak hanya berguna sebagai hiburan tetapi juga sebagai pendidikan, sehingga dapat melatih kita untuk berfikir lebih cepat.

Cara Bermain game ini:

Pada game ini terdapat terdapat persegi dan lingkaran, dimana lingkaran digunakan untuk mendorong box-box yang berwarna coklat, dimana box-box yang berwarna coklat diminta agar dimasukkan kedalam box yang transparant, sehingga box-box tersebut terletak ditempat targetnya.



seperti gambar diatas untuk mencapai target kita harus mendorong satu per satu box yang coklat kedalam box yang transparan,ketika mendorong kita benar-benar harus berfikir bagaimana box-box ini sampai didalam box transparan, disini kita harus berhati-hati agar tidak terjebak pada sudut ruangan yang nantinya tidak dapat dipindahkan lagi dan akan mengulang permainan dari awal lagi.




kemudian ketika semua box-box dapat dipindahkan maka akan muncul score berupa jumlah langkah dan dorongan yang kita lakukan. seperti gambar diatas.
setelah level ini terjangkau maka akan berlanjut ke level selanjutnya yang tingkat kesulitannya akan semakin tinggi. oleh karena itu semakin sedikit perpindahan semakin mahir pula dalam memainkan game ini


Game ini dirancang dengan menggunakan bahasa pemrograman Java. dibawah ini beberapa penggalan program tentang game ini:

program pada class PushPuzzle.java

package example.pushpuzzle;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;



public class PushPuzzle extends MIDlet implements CommandListener {
Display display;
private PushPuzzleCanvas canvas;
private Score score;
private Screen scoreScreen;
private Screen levelScreen;
private Alert alert;
private Command undoCommand = new Command("Undo", Command.BACK, 1);
private Command restartCommand = new Command("Start Over", Command.CANCEL, 21);
private Command exitCommand = new Command("Exit", Command.EXIT, 60);
private Command scoresCommand = new Command("Show Scores", Command.SCREEN, 26);
private Command okCommand = new Command("OK", Command.OK, 30);
private Command levelCommand = new Command("Change Level", Command.SCREEN, 24);
private Command nextCommand = new Command("Next Level", Command.SCREEN, 22);
private Command prevCommand = new Command("Previous Level", Command.SCREEN, 23);
private Command themeCommand = new Command("Switch Theme", Command.SCREEN, 25);

public PushPuzzle() {
display = Display.getDisplay(this);
score = new Score();
canvas = new PushPuzzleCanvas(this, score);
alert = new Alert("Warning");

if (!score.open()) {
System.out.println("Score open failed");
}

canvas.init();
canvas.addCommand(undoCommand);
canvas.addCommand(scoresCommand);
canvas.addCommand(restartCommand);
canvas.addCommand(levelCommand);
canvas.addCommand(exitCommand);
canvas.addCommand(nextCommand);
canvas.addCommand(prevCommand);
canvas.addCommand(themeCommand);
canvas.setCommandListener(this);
}


public void startApp() {
display.setCurrent(canvas);
}


public void pauseApp() {
}


public void destroyApp(boolean unconditional) {
display.setCurrent(null);
canvas.destroy();

if (score != null) {
score.close();
}
}


public void commandAction(Command c, Displayable s) {
if (c == undoCommand) {
canvas.undoMove();
} else if (c == restartCommand) {
canvas.restartLevel();
} else if (c == levelCommand) {
levelScreen = canvas.getLevelScreen();
levelScreen.addCommand(okCommand);
levelScreen.setCommandListener(this);
display.setCurrent(levelScreen);
} else if ((c == okCommand) && (s == levelScreen)) {
if (!canvas.gotoLevel()) {
alert.setString("Could not load level");
display.setCurrent(alert, canvas);
} else {
display.setCurrent(canvas);
}
} else if (c == scoresCommand) {
scoreScreen = canvas.getScoreScreen();
scoreScreen.addCommand(okCommand);
scoreScreen.setCommandListener(this);
display.setCurrent(scoreScreen);
} else if ((c == okCommand) && (s == scoreScreen)) {
display.setCurrent(canvas);
} else if (c == exitCommand) {
destroyApp(false);
notifyDestroyed();
} else if ((c == List.SELECT_COMMAND) && (s == canvas)) {
// Solved the level
scoreScreen = canvas.getScoreScreen();
scoreScreen.addCommand(okCommand);
scoreScreen.setCommandListener(this);
display.setCurrent(scoreScreen);

// Read the next screen.
canvas.nextLevel(1);
} else if (c == nextCommand) {
if (!canvas.nextLevel(1)) {
alert.setString("Could not load level " + (canvas.getLevel() + 1));
display.setCurrent(alert, canvas);
} else {
display.setCurrent(canvas);
}

if (s == canvas) {
canvas.repaint();
}
} else if (c == prevCommand) {
if (!canvas.nextLevel(-1)) {
alert.setString("Could not load level " + (canvas.getLevel() - 1));
display.setCurrent(alert, canvas);
} else {
display.setCurrent(canvas);
}

if (s == canvas) {
canvas.repaint();
}
} else if (c == themeCommand) {
canvas.changeTheme();
}
}
}
pada program ini merupakan class yang paling utama untuk memanggil class-class yang lainnya.


Mata Kuliah : Pengantar Teknologi Game #
Nama Game : Push Puzzle
Pemrograman : Javascript
Pembuat :

1. Anissa Eljannah (50408129)
2. Novi Mahmudah(50408619)

0 komentar:

Posting Komentar