Wednesday, April 28, 2010

" Game rubixRedux "


Game ini merupakan game mengasah otak, game ini dibuat dengan menggunakan program java yang dicompilasi dan di jalankan menggunakan J2ME. Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak JAVA pada barang elektronik berserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi dengan baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada perangkat yang lain. J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi yang lebih kecil dibandingkan dengan computer desktop. J2ME biasa digunakan pada telepon selular, pager, PDA, dan sejenisnya.
Teknologi J2ME juga memiliki beberapa keterbatasan jika diaplikasikan pada ponsel. J2ME sangat bergantung pada device yang digunakan, bisa dari merk ponsel, maupun kemampuan ponsel, dan dukungan terhadap teknologi J2ME. MIsalnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera. Sedangkan J2ME Wireless Toolkit adalah perkakas yang menyediakan lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi JAVA untuk perangkat kecil. J2ME WTK berbasiskan pada CLDC dan MIDP. J2ME WTK adalah program yang meniru kerja ponsel yang mendukung MIDP atau yang disebut emulator. Oleh karena itu, belum tentu MIDlet yang berjalan di emulator juga berjalan pada ponsel yang sebenarnya, karena juga bergantung pada kemampuan dan kapasitas ponsel yang digunakan.
Dalam pembuatan game “rubixRedux” pertama kita akan membuat project, kemudian membuat source code game tersebut dengan menggunakan bahasa pemrograman JAVA yang nantinya akan disimpan di dalam folder apps dalam project game tersebut.

Source code game “rubixRedux” :

package rubixRedux;
import java.util.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
* This is the main class of rubixRedux.
*
* @author Jeremiah McLeod
*/
public class rubixRedux extends MIDlet implements CommandListener {

private Display display;
private TextField txtName;

private final static Command CMD_BACK = new Command("DONE",
Command.BACK, 1);

//* the the canvas that all of the game will be drawn on.
//*/
rubixReduxCanvas myRubixReduxCanvas;


/**
* the thread that advances the animation
*/
GameThread myGameThread;

//-----------------------------------------------------
// initialization and game state changes

/**
* Initialize the canvas and the commands.
*/
public rubixRedux () {
display = Display.getDisplay (this);
myRubixReduxCanvas = new rubixReduxCanvas(this);
myRubixReduxCanvas.setFullScreenMode(true);
myRubixReduxCanvas.width = myRubixReduxCanvas.getWidth();
myRubixReduxCanvas.height= myRubixReduxCanvas.getHeight();

myRubixReduxCanvas.setCommandListener(this);
}



//----------------------------------------------------------------
// implementation of MIDlet

/**
* Start the application.
*/
public void startApp() throws MIDletStateChangeException {
myGameThread = new GameThread(myRubixReduxCanvas);
myRubixReduxCanvas.start();
myGameThread.go();


}

public void setFullScreen () {
myRubixReduxCanvas.setFullScreenMode (true);
}

public void getName () {
Form name=new Form ("Enter your name for High Score list");

txtName = new TextField ("Enter Name","",16,TextField.ANY);
name.append (txtName);
name.addCommand (CMD_BACK);
name.setCommandListener(this);
display.setCurrent(name);
}

/**
* stop and throw out the garbage.
*/
public void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
myGameThread.requestStop();
myGameThread = null;
myRubixReduxCanvas=null;
System.gc();
}

public void pauseApp() {

myGameThread.pause();
}

//----------------------------------------------------------------
// implementation of CommandListener

/*
* Respond to a command issued on the Canvas.
*/
public void commandAction(Command c, Displayable s) {
int p,t;



if (c==CMD_BACK) {
myRubixReduxCanvas.highName=txtName.getString();
myRubixReduxCanvas.gotName=true;
myRubixReduxCanvas.setCommandListener(this);
display.setCurrent (myRubixReduxCanvas);

}
}//commmandaction


}

Kemudian setelah selesai membuat source code, simpan dengan extension.java, seperti contoh : rubixRedux.java. Lalu compile source code yang dibuat di dalam J2ME Wireless Toolkit 2.2 atau 2.5, setelah decompile lalu jalankan,jika hasil compile dari source code tersebut complete, maka permainan rubix Redux bisa dijalankan.