Kamis, 19 Februari 2009

GAME KELIMA

Game ini saya beri judul prau buring....game ini hanya menabrak jawaban rumus luas bangun datar ,....tujuan game ini untuk menghafal rumus luas bidang bangun datar...
game ini ditujukan kepada anak SD kelas 3,4,5....semoga dengan game ini anak akan semakin mengahafal rumus-rumus....
berikut scrip game Nya

Untuk game Nya...


import java.util.Random;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import javax.microedition.lcdui.game.Sprite;

/**
*
* @author jeni
*/
class Game5 extends GameCanvas implements Runnable{
boolean isplay;
Image gmbPersegi,gmbPersegipanjang,gmbSegitiga,gmbBelahketupat,gmbLingkaran;
Image luasPersegi,luasPersegiPanjang,luasSegitiga,luasBelahketupat,luasLingkaran;
Image gmbOrang,gmblaut,gmbbuaya,gmbbuaya2,nilaiA,nilaiB,nilaiC;
Sprite orang,laut,buaya,buaya2;
Sprite soalTurun[]=new Sprite[5];
Sprite jawabanTurun[]=new Sprite[5];
private Random rmd = new Random();
MidletKe1 midlet;
Play play=new Play();
int kanankiri=getWidth()/2,atasbawah=getHeight()/2-40;
int gas,isor,ngelup,skor,timer=70;
private int soalAcak,jawbSalah1,jawbSalah2;
int jawabX[]=new int[3];
int jawabTemp[]=new int[3];


public Game5(MidletKe1 midlet) {
super(false);
this.midlet=midlet;
try {
play.playWavMidi("/laskarpelangi.mid");
gmblaut=Image.createImage("/laut.png");
gmbbuaya=Image.createImage("/buaya.png");
gmbbuaya2=Image.createImage("/buaya2.png");

nilaiA=Image.createImage("/sing A.png");
nilaiB=Image.createImage("/sing B.png");
nilaiC=Image.createImage("/sing C.png");

gmbPersegi=Image.createImage("/persegi.png");
gmbPersegipanjang=Image.createImage("/persegipanjang.png");
gmbSegitiga=Image.createImage("/segitiga.png");
gmbBelahketupat=Image.createImage("/belahketupat.png");
gmbLingkaran=Image.createImage("/lingkaran.png");

luasPersegi=Image.createImage("/luaspersegi.png");
luasPersegiPanjang=Image.createImage("/luaspersegipanjang.png");
luasSegitiga=Image.createImage("/luassegitiga.png");
luasBelahketupat=Image.createImage("/luasbelahketupat.png");
luasLingkaran=Image.createImage("/luaslingkaran.png");

gmbOrang=Image.createImage("/prahu.png");
orang=new Sprite(gmbOrang,50,50);
orang.setPosition(getWidth()/2, getHeight()/2);

jawabanTurun[0]=new Sprite(luasPersegi);
jawabanTurun[1]=new Sprite(luasPersegiPanjang);
jawabanTurun[2]=new Sprite(luasSegitiga);
jawabanTurun[3]=new Sprite(luasBelahketupat);
jawabanTurun[4]=new Sprite(luasLingkaran);

soalTurun[0]=new Sprite(gmbPersegi);
soalTurun[1]=new Sprite(gmbPersegipanjang);
soalTurun[2]=new Sprite(gmbSegitiga);
soalTurun[3]=new Sprite(gmbBelahketupat);
soalTurun[4]=new Sprite(gmbLingkaran);

laut=new Sprite(gmblaut,180,320);
buaya=new Sprite(gmbbuaya,45,70);
buaya2=new Sprite(gmbbuaya2,45,70);


jawabX[0]=60;
jawabX[1]=120;
jawabX[2]=180;

mengacak();
} catch (Exception e) {
}
}
public void start(){
isplay=true;
Thread t = new Thread(this);
t.start();
}

public void run() {
Graphics gr = getGraphics();
while (isplay) {
paint(gr);
menabrakJawaban();
waktu();
// selesai();
atasbawah++;
if(atasbawah>240){
atasbawah=atasbawah-3;
}
isor++;
if(isor>getHeight()){
isor=0;
}
try {
Thread.sleep(40);
} catch (Exception e) {
}
}

}
void waktu(){
ngelup--;
if(ngelup<=-10){
ngelup=0;
timer--;
}
}

public void paint(Graphics g) {
g.setColor(133, 155, 155);
g.fillRect(0, 0, getWidth(), getHeight());
laut.setPosition(58, isor-getHeight());
laut.paint(g);
laut.setPosition(58, isor);
laut.paint(g);
// laut.nextFrame();

soalTurun[soalAcak].setPosition(5, gas++);
soalTurun[soalAcak].paint(g);
jawabanTurun[soalAcak].setPosition(jawabX[jawabTemp[0]], soalTurun[soalAcak].getY());
jawabanTurun[soalAcak].paint(g);
jawabanTurun[jawbSalah1].setPosition(jawabX[jawabTemp[1]], soalTurun[soalAcak].getY());
jawabanTurun[jawbSalah1].paint(g);
jawabanTurun[jawbSalah2].setPosition(jawabX[jawabTemp[2]], soalTurun[soalAcak].getY());
jawabanTurun[jawbSalah2].paint(g);


orang.setPosition(kanankiri, atasbawah);
orang.paint(g);
orang.nextFrame();

buaya.setPosition(160,getHeight()/2+70);
buaya.paint(g);
buaya.nextFrame();
buaya2.setPosition(80,getHeight()/2+70);
buaya2.paint(g);
buaya2.nextFrame();

g.setColor(0, 0, 0);
g.drawLine(57, 0, 57, getHeight());
g.setColor(0,0,0);
g.fillRect(0, 275, getWidth(), 20);
g.setColor(255,255,255);
g.drawString("Waktu= "+timer, 5, getHeight()-15, g.TOP|g.LEFT);
g.drawString("Skor= "+skor, 70, getHeight()-15, g.TOP|g.LEFT);

if(mari==true){
isplay=false;
g.setColor(255,255,255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0,0,0);
g.drawString("game over", getWidth()/2, getHeight()/2, g.TOP|g.HCENTER);
}
if(timer==0){
isplay=false;
play.stopPlaying();
if(skor<100){
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.drawImage(nilaiC, getWidth() / 2, getHeight() / 2, Graphics.HCENTER | Graphics.VCENTER);
g.setColor(0,0,0);
g.drawString(""+skor,getWidth()/2, getHeight()/2+3, g.TOP|g.HCENTER);
System.out.println("C");
}
if(skor>100 && skor<140){
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.drawImage(nilaiB, getWidth() / 2, getHeight() / 2, Graphics.HCENTER | Graphics.VCENTER);
g.setColor(0,0,0);
g.drawString(""+skor,getWidth()/2, getHeight()/2+3, g.TOP|g.HCENTER);
System.out.println("B");
}
if(skor>140){
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.drawImage(nilaiA, getWidth() / 2, getHeight() / 2, Graphics.HCENTER | Graphics.VCENTER);
g.setColor(0,0,0);
g.drawString(""+skor,getWidth()/2, getHeight()/2+3, g.TOP|g.HCENTER);
System.out.println("A");
}
}
flushGraphics();
}
public void mengacak(){
int temp1=0 , temp2=0;
soalAcak=rmd.nextInt(5);
// jawbSalah1=rmd.nextInt(5);
do {
if(temp2==0){
temp1=rmd.nextInt(4);
if(temp1 != soalAcak){
jawbSalah1=temp1;
temp2=1;
}
}else if(temp2==1){
temp1=rmd.nextInt(4);
if(temp1 != soalAcak && temp1 != jawbSalah1){
jawbSalah2=temp1;
temp2=3;
}
}else if(temp2==3){
temp1=rmd.nextInt(3);
jawabTemp[0]=temp1;
temp2=4;
}else if(temp2==4){
temp1=rmd.nextInt(3);
if(temp1 != jawabTemp[0]){
jawabTemp[1]=temp1;
temp2=5;
}
}else if(temp2==5){
temp1=rmd.nextInt(3);
if(temp1 != jawabTemp[0] && temp1 != jawabTemp[1]){
jawabTemp[2]=temp1;
temp2=6;
}
}
} while (temp2!=6);
}

void berjalan(){
gas++;
if(gas>getHeight()){
gas=-50;
mengacak();
}
}
protected void keyPressed(int key) {
key=getKeyStates();
if((key & RIGHT_PRESSED)!=0){
kanankiri+=2;
if(kanankiri>200){
kanankiri-=2;
}
}
if((key & LEFT_PRESSED)!=0){
kanankiri-=2;
if(kanankiri<60){
kanankiri+=2;
}
}
if((key & UP_PRESSED)!=0){
atasbawah-=2;
berjalan();
if(atasbawah<10){
atasbawah+=2;
}
}
if((key & DOWN_PRESSED)!=0){
atasbawah++;
if(atasbawah>300){
atasbawah--;
}
}
}

public void menabrakJawaban(){
if(orang.collidesWith(jawabanTurun[soalAcak], true)){
skor+=10;
gas=-50;
mengacak();
System.out.println("benar");
}
if(orang.collidesWith(jawabanTurun[jawbSalah1], true)){
skor-=5;
gas=-50;
mengacak();
System.out.println("salah");
}
if(orang.collidesWith(jawabanTurun[jawbSalah2], true)){
skor-=5;
gas=-50;
mengacak();
System.out.println("salah");
}
if(orang.collidesWith(buaya, true)){
play.stopPlaying();
selesai();
System.out.println("game over");
}
if(orang.collidesWith(buaya2, true)){
play.stopPlaying();
selesai();
System.out.println("game over");
}
}
boolean mari=false;
void selesai(){
mari =true;
}
public void mati(){
isplay = false;
play.stopPlaying();
}

}

GAME KEEMPAT

Game ini yaitu game yang hanya mengambil makanan hewan trus diberikan pada hewan yang sesuai dengan makanannya....
tujuanNya diberikan pada anak berusia Tk...
untuk memenangkan game ini waktu anda harus kurang dari 1menit...

berikut scriptNya....
Midlet..Nya

package newpackage;

import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
* @author jeni
*/
public class Midlet1 extends MIDlet implements CommandListener {
private Splash sp;
private Display display;
private Timer timer;
private TimerTask timerTask;
private Gameke4 play;
Menu menu;
Play play1=new Play();
Form form;
Image image;
Command okCommand=new Command("Ok",Command.OK,0);
Command backCommand=new Command("Kembali",Command.BACK,1);
Command exitCommand=new Command("Keluar", Command.EXIT,1);

public void displayOverScreen(int menit, int detik){
Form form = new Form("");
form.append("Anda Menang!!!"+"\n"+"waktu anda adalah : "+menit+" menit, "+detik+" detik");
form.addCommand(backCommand);
form.setCommandListener(this);
display.setCurrent(form);
}

public void startApp() {
display=Display.getDisplay(this);
sp=new Splash(this);
display.setCurrent(sp);
display.setCurrent(form);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void menang(){
form=new Form("Selamat!!!");
TextField tf=new TextField("Masukkan Nama Anda","",20,TextField.ANY);
form.append(tf);
form.addCommand(backCommand);
form.setCommandListener(this);
display.setCurrent(form);
}

void menuPilih(int choice) {
try {
switch (choice) {
case 0:
play = new Gameke4(this);
play.start();
play.addCommand(backCommand);
play.setCommandListener(this);
display.setCurrent(play);
break;
case 1:
Alert al = new Alert("Petunjuk Permainan", "Cara permainan game ini adalah Anda harus menempatkan makanan yang sesuai dengan gambar hewan yang ada."+"\n"+"Gunakan tombol left dan right untuk mengarahkan player ke kanan dan ke kiri."+"\n"+"Gunakan Tombol up dan down untuk mengarahkan player kedepan dan belakang."+"\n"+"Dan gunakan enter untuk mengambil dan meletakkan makanan. ", image, AlertType.CONFIRMATION);
al.setTimeout(Alert.FOREVER);
display.setCurrent(al);
break;
case 2:
exit();
break;
default:
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void callMenu(){
display=Display.getDisplay(this);
menu=new Menu(this);
display.setCurrent(menu);

}
void startTimer(){
timer=new Timer();
timerTask=new TimerTask() {

public void run() {
callMenu();
}
};
timer.schedule(timerTask, 1000);
}
void stopTimer(){
timer.cancel();
timerTask.cancel();
}

private void exit() {
destroyApp(false);
notifyDestroyed();
}

public void commandAction(Command c, Displayable d) {
if(c==backCommand){
play1.stopPlaying();

display.setCurrent(menu);

// play.stopPlaying();

}
}
}
-----------------------------------------------------------------------------------------------------------------------------------
package newpackage;
import java.io.IOException;
import javax.microedition.lcdui.Canvas;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

/**
*
* @author jeni
*/
public class Splash extends Canvas {
private Midlet1 midletTT;
int w,h,hImg;
private Image img;

public Splash(Midlet1 midlet){
w=getWidth();
h=getHeight();
midletTT=midlet;
try{
img=Image.createImage("/image/splash1.png");
}catch(IOException ie){
}
hImg=img.getHeight();
}

protected void paint(Graphics g) {
g.setColor(255,255,255);
g.fillRect(0, 0, w, h);
g.drawImage(img, w/2, h/2, Graphics.HCENTER | Graphics.VCENTER);

}
protected void hideNotify(){
midletTT.stopTimer();
}
protected void showNotify(){
midletTT.startTimer();
}

}
-----------------------------------------------------------------------------------------------------------------------------------

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package newpackage;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

/**
*
* @author jeni
*/
public class Menu extends Canvas implements CommandListener,Runnable{
private Midlet1 midlet;
private Display display;
private Image head;
private int index;
static final Font tipe=Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM);


public Menu(Midlet1 midlet){
this.midlet=midlet;
display=Display.getDisplay(midlet);
try{
head=Image.createImage("/image/MENU.PNG");
}catch(Exception e){}

Thread t = new Thread(this);
t.start();
}
protected void paint(Graphics g) {
g.setColor(255,255,255);
g.fillRect(0, 0, getWidth(), getHeight());
g.drawImage(head, 0, 0, Graphics.TOP|Graphics.LEFT);
g.setColor(0,0,0);
g.fillRect((getWidth()-head.getWidth())/2,(getWidth()/8)+head.getHeight()+10, head.getWidth(), 22);
g.fillRect((getWidth()-head.getWidth())/2,(getWidth()/8)+head.getHeight()+35, head.getWidth(), 22);
g.fillRect((getWidth()-head.getWidth())/2,(getWidth()/8)+head.getHeight()+60, head.getWidth(), 22);
g.setColor(100, 100, 100);
switch(index){
case 0:
g.fillRect((getWidth()-head.getWidth())/2,(getWidth()/8)+head.getHeight()/2+10, head.getWidth(), 22);
break;
case 1:
g.fillRect((getWidth()-head.getWidth())/2,(getWidth()/8)+head.getHeight()/2+35, head.getWidth(), 22);
break;
case 2:
g.fillRect((getWidth()-head.getWidth())/2,(getWidth()/8)+head.getHeight()/2+60, head.getWidth(), 22);
break;
default:
}
g.setColor(255, 255, 255);
g.setFont(tipe);
g.drawString("Mulai Permainan",getWidth()/2, (getWidth()/8)+head.getHeight()/2+12,Graphics.TOP|Graphics.HCENTER);
g.drawString("Petunjuk Permainan",getWidth()/2, (getWidth()/8)+head.getHeight()/2+37,Graphics.TOP|Graphics.HCENTER);
// g.drawString("Petunjuk Permainan",getWidth()/2, (getWidth()/8)+head.getHeight()/2+37,Graphics.TOP|Graphics.HCENTER);
g.drawString("Keluar",getWidth()/2, (getWidth()/8)+head.getHeight()/2+63,Graphics.TOP|Graphics.HCENTER);
}

public void commandAction(Command c, Displayable d) {

}

public void run() {

while(true){
try{
Thread.sleep(100);
}catch(Exception e){}
repaint();
}
}

protected void keyPressed(int code) {
if(getGameAction(code)==Canvas.DOWN){
index++;

if(index>2)index=0;
}
if(getGameAction(code)==Canvas.UP){
index--;
if(index<0)index=2;
}
if(getGameAction(code)==Canvas.FIRE){
switch(index){
case 0:
midlet.menuPilih(0);
break;
case 1:
midlet.menuPilih(1);
break;
case 2:
midlet.menuPilih(2);
break;
default:

}
}
}

}

----------------------------------------------------------------------------------------------------------------------------------
Untuk gameNya:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package newpackage;

import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.TextField;
//import javax.microedition.lcdui.game.LayerManager;

/**
*
* @author jeni
*/
class Gameke4 extends GameCanvas implements Runnable {

Midlet1 midlet;
boolean isBringSomething = false;
// private LayerManager lm;
private Sprite sapi, ular, ayam, ikan, rumput, tikus, padi, cacing;
private boolean jalan = false;
private Thread t;
private boolean selesai1, selesai2, aelesai3, selesai;
private Sprite orang;
// private byte lD = -1;
private int kec = 5;
private final int KIRI = 0;
private final int KANAN = 1;
private final int BAWAH = 2;
private final int ATAS = 3;
private int animasi;
private int status;
private int spritePosition[] = new int[5];
private boolean Left, Right, Up, Down, L, R, U, D;
private int xCewek, yCewek;
int jawabanYangDigondol;
Image imageCorrect;
Image imageCross;
Image menang,kalah;
boolean[] isCorrect = new boolean[5];
final int GARIS_PERTAMA = 42+10;
final int GARIS_KEDUA = 83+10;
final int GARIS_KETIGA = 123+10;
final int GARIS_KEEMPAT = 162+10;
private boolean cekDetik = true;
private int second = 20, detik = 0, menit = 0;
private boolean gameOver, cekLm;
private Form form;
private TextField tf;
Command okCommand=new Command("Ok",Command.OK,0);
private Image imgPlayer;
Play play;

Gameke4(Midlet1 midlet) throws Exception {
super(true);
this.midlet = midlet;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {

public void run() {
detik++;
}
}, 1000, 1000);
for(int i = 0; i < 5; i ++){
isCorrect[i] = false;
spritePosition[i] = 0;
}
xCewek = getWidth() / 2 + getWidth() / 4;
yCewek = getHeight() / 2;
try {
play=new Play();
play.playWavMidi("/newpackage/caripacarlagi.mid");
imageCross = Image.createImage("/image/cross.png");
imageCorrect = Image.createImage("/image/correct.png");

// kalah = Image.createImage("");
imgPlayer = Image.createImage("/image/016-Thief01.png");
sapi = new Sprite(Image.createImage("/image/SAPI.png"));
ular = new Sprite(Image.createImage("/image/ULAR.png"));
ayam = new Sprite(Image.createImage("/image/AYAM.png"));
ikan = new Sprite(Image.createImage("/image/IKAN.png"));
rumput = new Sprite(Image.createImage("/image/RUMPUT.PNG"), 25, 35);
tikus = new Sprite(Image.createImage("/image/TIKUS.PNG"), 25, 35);
padi = new Sprite(Image.createImage("/image/PADI.PNG"), 25, 35);
cacing = new Sprite(Image.createImage("/image/CACING.PNG"), 25, 35);
rumput.setRefPixelPosition(15,15);
tikus.setRefPixelPosition(15,15);
padi.setRefPixelPosition(15,15);
cacing.setRefPixelPosition(15,15);

orang = new Sprite(imgPlayer, 32, 48);
orang.setPosition(xCewek, yCewek);
sapi.setPosition(80, 20+5);
ular.setPosition(20, 60+5);
ayam.setPosition(90, 100+5);
ikan.setPosition(40, 140+5);
rumput.setPosition(130, 210+30);
tikus.setPosition(190, 210+30);
padi.setPosition(80, 210+30);
cacing.setPosition(20, 210+30);
// menang = Image.createImage("/image/MENANG.PNG");

//lm=new LayerManager();
//lm.append(cewek);
} catch (Exception e) {
e.printStackTrace();
}

}


public int getPositionIndex(Sprite sp){
if(sp.getY()>0&&sp.getY() return 1;
}
if(sp.getY()>GARIS_PERTAMA&&sp.getY() return 2;
}
if(sp.getY()>GARIS_KEDUA&&sp.getY() return 3;
}

if(sp.getY()>GARIS_KETIGA&&sp.getY() return 4;
}
else{
return 0;
}
}

public void cekPosisi(){
if(getPositionIndex(rumput)==1){
isCorrect[1] = true;
spritePosition [1] = getPositionIndex(rumput);
}else{
isCorrect[1] = false;
spritePosition [1] = getPositionIndex(rumput);
}

if(getPositionIndex(tikus)==2){
isCorrect[2] = true;
spritePosition [2] = getPositionIndex(tikus);
}else{
isCorrect[2] = false;
spritePosition [2] = getPositionIndex(tikus);
}

if(getPositionIndex(padi)==3){
isCorrect[3] = true;
spritePosition [3] = getPositionIndex(padi);
}else{
isCorrect[3] = false;
spritePosition [3] = getPositionIndex(padi);
}
if(getPositionIndex(cacing)==4){
isCorrect[4] = true;
spritePosition [4] = getPositionIndex(cacing);
}else{
isCorrect[4] = false;
spritePosition [4] = getPositionIndex(cacing);
}

if(spritePosition[1]==spritePosition[2] ||
spritePosition[1]==spritePosition[3] ||
spritePosition[1]==spritePosition[4]
){
isCorrect[1] = false;
}
if(spritePosition[2]==spritePosition[1] ||
spritePosition[2]==spritePosition[3] ||
spritePosition[2]==spritePosition[4]
){
isCorrect[2] = false;
}
if(spritePosition[3]==spritePosition[1] ||
spritePosition[3]==spritePosition[2] ||
spritePosition[3]==spritePosition[4]
){
isCorrect[3] = false;
}
if(spritePosition[4]==spritePosition[1] ||
spritePosition[4]==spritePosition[2] ||
spritePosition[4]==spritePosition[3]
){
isCorrect[4] = false;
}
for(int i =0 ; i < 5; i++){
System.out.println("is correct ke "+i+" = "+isCorrect[i]);
System.out.println("indeks sprite ke "+i+" = "+spritePosition[i]);
}
System.out.println(rumput.getY());
System.out.println(tikus.getY());
System.out.println(padi.getY());
System.out.println(cacing.getY());
}

private void animasiOrang(int status, int animasi) {
switch (status) {
case KIRI:
orang.setFrame(animasi + 4);

break;
case KANAN:
orang.setFrame(animasi + 8);
break;
case ATAS:

orang.setFrame(animasi + 12);
break;
case BAWAH:
orang.setFrame(animasi);

break;
default:
}
}

public void gerakinJawabanYangDigondol(){
if(isBringSomething){
switch(jawabanYangDigondol){
case 1 : rumput.setPosition(orang.getX()+20, orang.getY());
break;
case 2 : tikus.setPosition(orang.getX()+30, orang.getY());
break;
case 3 : padi.setPosition(orang.getX()+30, orang.getY());
break;
case 4 : cacing.setPosition(orang.getX()+30, orang.getY());
break;
}
}
}

public void kendali() {
int keyState = getKeyStates();

if((keyState&FIRE_PRESSED)!=0){
if(isBringSomething==false)
{
if(orang.collidesWith(rumput, true)){
isBringSomething = true;
jawabanYangDigondol = 1;
}
if(orang.collidesWith(tikus, true)){
isBringSomething = true;
jawabanYangDigondol = 2;
}
if(orang.collidesWith(padi, jalan)){
isBringSomething = true;
jawabanYangDigondol = 3;
}
if(orang.collidesWith(cacing, jalan)){
isBringSomething = true;
jawabanYangDigondol = 4;
}
}
else{
isBringSomething = false;
cekPosisi();
}
}
if (((keyState & LEFT_PRESSED) != 0)) {
//untuk animasi player
R = false;
status = KIRI;
if (!L) {
orang.move(-2, 0);
animasi++;
if (animasi > 3) {
animasi = 0;
}
animasiOrang(status, animasi);
}
gerakinJawabanYangDigondol();
}
if (((keyState & RIGHT_PRESSED) != 0)) {
L = false;
status = KANAN;
if (!R) {
orang.move(2, 0);
animasi++;
if (animasi > 3) {
animasi = 0;
}
animasiOrang(status, animasi);
}
gerakinJawabanYangDigondol();
}
if ((keyState & UP_PRESSED) != 0) {
D = false;
status = ATAS;
if (!U) {
orang.move(0, -2);
animasi++;
if (animasi > 3) {
animasi = 0;
}
animasiOrang(status, animasi);
}
gerakinJawabanYangDigondol();
}
if ((keyState & DOWN_PRESSED) != 0) {
U = false;
status = BAWAH;
if (!D) {
orang.move(0, 2);
animasi++;
if (animasi > 3) {
animasi = 0;
}
animasiOrang(status, animasi);
}
gerakinJawabanYangDigondol();
}
}

public void menggambar(Graphics g) {
g.setColor(61, 244, 42);
g.fillRect(0, 0, getWidth(), getHeight());

g.drawLine(0,GARIS_PERTAMA, getWidth(), GARIS_PERTAMA);
g.drawLine(0,GARIS_KEDUA, getWidth(), GARIS_KEDUA);
g.drawLine(0,GARIS_KETIGA, getWidth(), GARIS_KETIGA);
g.drawLine(0,GARIS_KEEMPAT, getWidth(), GARIS_KEEMPAT);
g.setColor(0, 0, 0);
g.drawRect(10, 20, getWidth()-20, getHeight()/2+40);
g.drawRect(10+3, 20+3, getWidth()-20-6, getHeight()/2+40-6);
g.setColor(0,0,0);
g.drawString("Waktu = 0" + menit + ":" + detik, 150, 0, Graphics.TOP | Graphics.LEFT);

sapi.paint(g);
ular.paint(g);
ayam.paint(g);
ikan.paint(g);
rumput.paint(g);
tikus.paint(g);
padi.paint(g);
cacing.paint(g);

gambarStatusJawaban(g);
orang.paint(g);

if(isCorrect[1]==true && isCorrect[2]==true && isCorrect[3]==true && isCorrect[4]==true){
// selesai();
play.stopPlaying();
jalan=false;
if(menit<1){
// g.drawImage(menang, 0, 0, g.TOP|g.LEFT);
g.setColor(255,255,255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0,0,0);
g.drawString("Waktu = 0" + menit + ":" + detik, getWidth()/2, 10, Graphics.TOP | Graphics.HCENTER);
g.drawString("SELAMAT ANDA MENANG", getWidth()/2, 30, g.TOP|g.HCENTER);
g.drawString("ANDA MENYELESAIKAN TEPAT WAKTU", getWidth()/2, 40, g.TOP|g.HCENTER);
System.out.println("menang");
}
if(menit>=1){
g.setColor(255,255,255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0,0,0);
g.drawString("Waktu = 0" + menit + ":" + detik, getWidth()/2, 10, Graphics.TOP | Graphics.HCENTER);
g.drawString("TERIMA KASIH", getWidth()/2, 30, g.TOP|g.HCENTER);
g.drawString("WAKTU ANDA KURANG MAKSIMAL", getWidth()/2, 40, g.TOP|g.HCENTER);
g.drawString("COBALAGI", getWidth()/2, 50, g.TOP|g.HCENTER);
System.out.println("kalah");
}

System.out.println("Selesai");
}
flushGraphics();

}
public void gambarStatusJawaban(Graphics g){
if(isCorrect[1]){
g.drawImage(imageCorrect, getWidth(), GARIS_PERTAMA, g.RIGHT|g.BOTTOM);
}else{
g.drawImage(imageCross, getWidth()/2+30, GARIS_PERTAMA, g.RIGHT|g.BOTTOM);
}
if(isCorrect[2]){
g.drawImage(imageCorrect, getWidth(), GARIS_KEDUA, g.RIGHT|g.BOTTOM);
}else{
g.drawImage(imageCross, getWidth()/2-40, GARIS_KEDUA, g.RIGHT|g.BOTTOM);
}
if(isCorrect[3]){
g.drawImage(imageCorrect, getWidth(), GARIS_KETIGA, g.RIGHT|g.BOTTOM);
}else{
g.drawImage(imageCross, getWidth()/2+30, GARIS_KETIGA, g.RIGHT|g.BOTTOM);
}
if(isCorrect[4]){
g.drawImage(imageCorrect, getWidth(), GARIS_KEEMPAT, g.RIGHT|g.BOTTOM);
}else{
g.drawImage(imageCross, getWidth()/2-20, GARIS_KEEMPAT, g.RIGHT|g.BOTTOM);
}
}



void start() {
jalan = true;
t = new Thread(this);
t.start();
}

public void run() {
Graphics g = this.getGraphics();
while (jalan == true) {
waktu();
this.kendali();
this.menggambar(g);


try {
Thread.sleep(80);
} catch (Exception e) {
System.out.println("error sleep thread..");
}
}

}

public void waktu(){
if(detik>=60){
menit++;
detik = 00;
}
}
public void mari(){
jalan= false;
}
public void selesai(){
jalan=false;
// midlet.displayOverScreen(menit, detik);

}

}
--------------------------------------------------------------------------------------------------------------------------------
untuk musik....

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package newpackage;


import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.media.PlayerListener;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import javax.microedition.media.control.VolumeControl;

/**
*
* @author jeni
*/
class Play implements PlayerListener{
// private Display display;
private static Player player;
private VolumeControl vc;

// static void playWavMidi(String file,String p)throws Exception {
void playWavMidi(String file) throws Exception {
player = Manager.createPlayer(getClass().getResourceAsStream(file),
"audio/midi");
System.out.print("sini");
player.addPlayerListener(this);
player.setLoopCount(-1);
player.prefetch();
player.realize();
vc = (VolumeControl)player.getControl("VolumeControl");
if (vc != null) {
vc.setLevel(100);
}
player.start();
}
public void stopPlaying(){
try {
player.stop();
} catch (MediaException ex) {
ex.printStackTrace();
}
}
public void playerUpdate(Player arg0, String arg1, Object arg2) {

}
}

------------------------------------------------------------------------------------------------------------------------------