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:
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)