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

}
}

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



Kamis, 12 Februari 2009

Cerpen

Pohon apel dan anak lelaki
Suatu ketika, hiduplah sebatang pohon apel besar dan anak lelaki yang
senang bermain-main di bawah pohon apel itu setiap hari. Ia senang
memanjatnya hingga ke pucuk pohon, memakan buahnya, tidur-tiduran di
keteduhan rindang daun-daunnya. Anak lelaki itu sangat mencintai pohon
apel itu. Demikian pula pohon apel sangat mencintai anak kecil itu.

Waktu terus berlalu. Anak lelaki itu kini telah tumbuh besar dan tidak
lagi bermain-main dengan pohon apel itu setiap harinya. Suatu hari ia
mendatangi pohon apel.

Wajahnya tampak sedih.

“Ayo ke sini bermain-main lagi denganku,” pinta pohon apel itu.
“Aku bukan anak kecil yang bermain-main dengan pohon lagi.” jawab anak
lelaki itu.
“Aku ingin sekali memiliki mainan, tapi aku tak punya uang untuk membelinya.”
Pohon apel itu menyahut, “Duh, maaf aku pun tak punya uang… tetapi kau
boleh mengambil semua buah apelku dan menjualnya. Kau bisa mendapatkan
uang untuk membeli mainan kegemaranmu.”

Anak lelaki itu sangat senang. Ia lalu memetik semua buah apel yang ada di
pohon dan pergi dengan penuh suka cita. Namun, setelah itu anak lelaki tak
pernah datang lagi.

Pohon apel itu kembali sedih.

Suatu hari anak lelaki itu datang lagi. Pohon apel sangat senang
melihatnya datang.

“Ayo bermain-main denganku lagi.” kata pohon apel.
“Aku tak punya waktu,” jawab anak lelaki itu.
“Aku harus bekerja untuk keluargaku. Kami membutuhkan rumah untuk tempat
tinggal. Maukah kau menolongku?”
“Duh, maaf aku pun tak memiliki rumah. Tapi kau boleh menebang semua dahan
rantingku untuk membangun rumahmu.” kata pohon apel.

Kemudian anak lelaki itu menebang semua dahan dan ranting pohon apel itu
dan pergi dengan gembira.

Pohon apel itu juga merasa bahagia melihat anak lelaki itu senang, tapi
anak lelaki itu tak pernah kembali lagi.

Pohon apel itu merasa kesepian dan sedih.

Pada suatu musim panas, anak lelaki itu datang lagi. Pohon apel merasa
sangat bersuka cita menyambutnya.

“Ayo bermain-main lagi denganku.” kata pohon apel..
“Aku sedih,” kata anak lelaki itu.
“Aku sudah tua dan ingin hidup tenang. Aku ingin pergi berlibur dan
berlayar. Maukah kau memberi aku sebuah kapal untuk pesiar?”
“Duh, maaf aku tak punya kapal, tapi kau boleh memotong batang tubuhku dan
menggunakannya untuk membuat kapal yang kau mau. Pergilah berlayar dan
bersenang-senanglah .”

Kemudian, anak lelaki itu memotong batang pohon apel itu dan membuat kapal
yang diidamkannya. ia lalu pergi berlayar dan tak pernah lagi datang
menemui pohon apel itu.

Akhirnya, anak lelaki itu datang lagi setelah bertahun-tahun kemudian.

“Maaf anakku,” kata pohon apel itu.
“Aku sudah tak memiliki buah apel lagi untukmu.”
“Tak apa.. Aku pun sudah tak memiliki gigi untuk mengigit buah apelmu.”
Jawab anak lelaki itu.
“Aku juga tak memiliki batang dan dahan yang bisa kau panjat.” Kata pohon
apel.
“Sekarang, aku sudah terlalu tua untuk itu.” jawab anak lelaki itu.
“Aku benar-benar tak memiliki apa-apa lagi yang bisa aku berikan padamu.
Yang tersisa hanyalah akar-akarku yang sudah tua dan sekarat ini.” Kata
pohon apel itu sambil menitikkan air mata.
“Aku tak memerlukan apa-apa lagi sekarang.” kata anak lelaki.
“Aku hanya membutuhkan tempat untuk beristirahat. Aku sangat lelah setelah
sekian lama meninggalkanmu.”
“Oooh, bagus sekali. Tahukah kau, akar-akar pohon tua adalah tempat
terbaik untuk berbaring dan beristirahat. Mari, marilah berbaring di
pelukan akar-akarku dan beristirahatlah dengan tenang.”

Anak lelaki itu berbaring di pelukan akar-akar pohon. Pohon apel itu
sangat gembira dan tersenyum sambil meneteskan air matanya.

Ini adalah cerita tentang kita semua. Pohon apel itu adalah orang tua kita.
Ketika kita muda, kita senang bermain-main dengan ayah dan ibu kita.
Ketika kita tumbuh besar, kita meninggalkan mereka, dan hanya datang
ketika kita memerlukan sesuatu atau dalam kesulitan.
Tak peduli apapun, orang tua kita akan selalu ada di sana untuk memberikan
apa yang bisa mereka berikan untuk membuat kita bahagia.
Anda mungkin berpikir bahwa anak lelaki itu telah bertindak sangat kasar
pada pohon itu, tetapi begitulah cara kita memperlakukan orang tua kita.

Sampaikan pada orang tua kita sekarang, betapa kita mencintainya; dan
berterima kasih atas seluruh hidup yang telah dan akan diberikannya pada
kita.

renungkanlah,, apakah kita sudah memberikan yang terbaik untuk mereka, untuk orang-orang yang kita sayangi dan cintai.