Kamis, 19 Mei 2011

MANUAL BOOK GAME LABIRIN BERBASIS JAVA NETBEANS 6.8

3IA11
DINA AMALIA (50408283)
NUR HANDAYANI (50408625)
RISTI MUSTIKA BRILIANTI (50408732)




Membuat Kode Program
Midlet
Labirin:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class labirin extends MIDlet implements CommandListener {
private canvas_labirin layar_kanvas;
private pilih layar_pilih;
private Command comm_keluar = new Command("Keluar", Command.EXIT, 99);
private Command comm_new = new Command("Level baru", Command.SCREEN, 1);
private Command comm_alert = new Command("Selesai", Command.EXIT, 1);
private Command comm_opsi = new Command("Pengaturan ukuran", Command.SCREEN, 1);
public labirin() {
try {
layar_kanvas = new canvas_labirin(Display.getDisplay(this));
layar_kanvas.addCommand(comm_keluar);
layar_kanvas.addCommand(comm_new);
layar_kanvas.addCommand(comm_opsi);
layar_kanvas.setCommandListener(this);
} catch(Exception e) {
Alert errorAlert = new Alert("error",
e.getMessage(), null, AlertType.ERROR);
errorAlert.setCommandListener(this);
errorAlert.setTimeout(Alert.FOREVER);
errorAlert.addCommand(comm_alert);
Display.getDisplay(this).setCurrent(errorAlert);
}
}
public void startApp() throws MIDletStateChangeException {
if(layar_kanvas != null) {
layar_kanvas.start();
}
}
public void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
layar_kanvas = null;
System.gc();
}
public void pauseApp() {
}
public void commandAction(Command c, Displayable s) {
if(c == comm_new) {
layar_kanvas.newMaze();
} else if(c == comm_alert) {
try {
destroyApp(false);
notifyDestroyed();
} catch (MIDletStateChangeException ex) {
}
} else if(c == comm_opsi) {
if(layar_pilih == null) {
layar_pilih = new pilih(layar_kanvas);
}
Display.getDisplay(this).setCurrent(layar_pilih);
} else if(c == comm_keluar) {
try {
destroyApp(false);
notifyDestroyed();
} catch (MIDletStateChangeException ex) {
}
}
}

}

Java class:
Canvas_labirin:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class canvas_labirin extends javax.microedition.lcdui.Canvas {
private Display layar;
private pola_gambar garis;
private boolean gameover = false;
private int area;
private int x1;
private int x2;
private int x = 0;
private int y = 0;
private int yy;
private int xx;
private int yyh;
private int xxw;
private int Ox = 1;
private int Oy = 1;
private int Px = 1;
private int Py = 1;
int setColWidth(int colWidth) {
if(colWidth < 2) {
area = 2;
} else {
area = colWidth;
}
xx = getWidth() / area;
if(xx % 2 == 0) {
xx -= 1;
}
yy = getHeight() / area;
if(yy % 2 == 0) {
yy -= 1;
}
garis = null;
return(xx);
}
int getMinColWidth() {
return(x2);
}
int getMaxColWidth() {
return(x1);
}
int getMaxNumCols() {
return(yyh);
}
int getColWidth() {
return(area);
}
int getNumCols() {
return(xx);
}
public canvas_labirin(Display d) throws Exception {
layar = d;
int width = getWidth();
int height = getHeight();
area = 5;
x2 = 3;
yyh = width / x2;
if(yyh % 2 == 0) {
yyh -= 1;
}
xx = width / area;
if(xx % 2 == 0) {
xx -= 1;
}
yy = height / area;
if(yy % 2 == 0) {
yy -= 1;
}
xxw = 15;
x1 = width / xxw;
if(x1 > height / xxw) {
x1 = height / xxw;
}
if(x1 < area) {
throw(new Exception("error"));
}
}
void start() {
layar.setCurrent(this);
repaint();
}
void newMaze() {
gameover = false;
garis = null;
Px = 1;
Py = 1;
Ox = 1;
Oy = 1;
layar.setCurrent(this);
repaint();
}
protected void paint(Graphics g) {
if(garis == null) {
int width = getWidth();
int height = getHeight();
garis = new pola_gambar(xx, yy);
for(int i = 0; i < xx; i++) {
for(int j = 0; j < yy; j++) {
if(garis.area_xy[i][j] == 0) {
g.setColor(0,100,10);
} else {
g.setColor(255,255,200);
}
g.fillRect(x + (i*area),
y + (j*area),
area, area);
}
}
g.setColor(0,100,10);
g.fillRect(x + ((xx-1) * area),
y, width, height);
g.setColor(255,255,200);
g.fillRect(x + ((xx-1) * area),
y + ((yy-2) * area), width, height);
g.setColor(0,100,10);
g.fillRect(x,
y + ((yy-1) * area), width, height);
}
g.setColor(255, 100, 150);
g.fillRoundRect(x + (area)*Px,
y + (area)*Py,
area, area,
area, area);
if((Ox != Px) || (Oy != Py)) {
g.setColor(255,255,200);
g.fillRect(x + (area)*Ox,
y + (area)*Oy,
area, area);
}
if(gameover) {
int width = getWidth();
int height = getHeight();
Font font = g.getFont();
int fontHeight = font.getHeight();
int fontWidth = font.stringWidth("Berhasil");
g.setColor(255,255,200);
g.fillRect((width - fontWidth)/2, (height - fontHeight)/2,
fontWidth + 2, fontHeight);
g.setColor(255, 0, 0);
g.setFont(font);
g.drawString("Berhasil", (width - fontWidth)/2,
(height - fontHeight)/2,
g.TOP|g.LEFT);
}
}
public void keyPressed(int keyCode) {
if(! gameover) {
int action = getGameAction(keyCode);
switch (action) {
case LEFT:
if((garis.area_xy[Px-1][Py] == 1) &&
(Px != 1)) {
Ox = Px;
Oy = Py;
Px -= 2;
repaint();
}
break;
case RIGHT:
if(garis.area_xy[Px+1][Py] == 1) {
Ox = Px;
Oy = Py;
Px += 2;
repaint();
} else if((Px == garis.area_xy.length - 2) &&
(Py == garis.area_xy[0].length - 2)) {
Ox = Px;
Oy = Py;
Px += 2;
gameover = true;
repaint();
}
break;
case UP:
if(garis.area_xy[Px][Py-1] == 1) {
Ox = Px;
Oy = Py;
Py -= 2;
repaint();
}
break;
case DOWN:
if(garis.area_xy[Px][Py+1] == 1) {
Ox = Px;
Oy = Py;
Py += 2;
repaint();
}
break;
}
}
}
}

Pilih:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class pilih extends Form
implements ItemStateListener, CommandListener {
private Command kelaur = new Command("Selesai", Command.EXIT, 1);
private Gauge indikator;
private Gauge klomindikator;
private canvas_labirin xycanvas;
public pilih(canvas_labirin canvas) {
super("Pengaturan ukuran");
addCommand(kelaur);
setCommandListener(this);
xycanvas = canvas;
setItemStateListener(this);
indikator = new Gauge("Lebar", true,
xycanvas.getMaxColWidth(),
xycanvas.getColWidth());
klomindikator = new Gauge("Jumlah kolom", false,
xycanvas.getMaxNumCols(),
xycanvas.getNumCols());
append(indikator);
append(klomindikator);
}
public void itemStateChanged(Item item) {
if(item == indikator) {
int val = indikator.getValue();
if(val < xycanvas.getMinColWidth()) {
indikator.setValue(xycanvas.getMinColWidth());
} else {
int numCols = xycanvas.setColWidth(val);
klomindikator.setValue(numCols);
}
}
}
public void commandAction(Command c, Displayable s) {
if(c == kelaur) {
xycanvas.newMaze();
}
}
}

Pola_gambar:
import java.util.Random;
import java.util.Vector;
public class pola_gambar {
private Random acak_acak = new Random();
int[][] area_xy;
public pola_gambar(int width, int height) {
area_xy = new int[width][height];
for(int i = 1; i < width - 1; i++) {
for(int j = 1; j < height - 1; j++) {
if((i % 2 == 1) || (j % 2 == 1)) {
area_xy[i][j] = 1;
}
}
}
area_xy[0][1] = 1;
createMaze();
}
private void createMaze() {
for(int i = 1; i < area_xy.length - 1; i++) {
for(int j = 1; j < area_xy[i].length - 1; j++) {
if((i + j) % 2 == 1) {
area_xy[i][j] = 0;
}
}
}
for(int i = 1; i < area_xy.length - 1; i+=2) {
for(int j = 1; j < area_xy[i].length - 1; j+=2) {
area_xy[i][j] = 3;
}
}
Vector possibleSquares = new Vector(area_xy.length
* area_xy[0].length);
int[] startSquare = new int[2];
startSquare[0] = getRandomInt(area_xy.length / 2)*2 + 1;
startSquare[1] = getRandomInt(area_xy[0].length / 2)*2 + 1;
area_xy[startSquare[0]][startSquare[1]] = 2;
possibleSquares.addElement(startSquare);
while(possibleSquares.size() > 0) {
int chosenIndex = getRandomInt(possibleSquares.size());
int[] chosenSquare = (int[])possibleSquares.elementAt(chosenIndex);
area_xy[chosenSquare[0]][chosenSquare[1]] = 1;
possibleSquares.removeElementAt(chosenIndex);
link(chosenSquare, possibleSquares);
}
possibleSquares = null;
System.gc();
}
private void link(int[] chosenSquare, Vector possibleSquares) {
int linkCount = 0;
int i = chosenSquare[0];
int j = chosenSquare[1];
int[] links = new int[8];
if(i >= 3) {
if(area_xy[i - 2][j] == 1) {
links[2*linkCount] = i - 1;
links[2*linkCount + 1] = j;
linkCount++;
} else if(area_xy[i - 2][j] == 3) {
area_xy[i - 2][j] = 2;
int[] newSquare = new int[2];
newSquare[0] = i - 2;
newSquare[1] = j;
possibleSquares.addElement(newSquare);
}
}
if(j + 3 <= area_xy[i].length) {
if(area_xy[i][j + 2] == 3) {
area_xy[i][j + 2] = 2;
int[] newSquare = new int[2];
newSquare[0] = i;
newSquare[1] = j + 2;
possibleSquares.addElement(newSquare);
} else if(area_xy[i][j + 2] == 1) {
links[2*linkCount] = i;
links[2*linkCount + 1] = j + 1;
linkCount++;
}
}
if(j >= 3) {
if(area_xy[i][j - 2] == 3) {
area_xy[i][j - 2] = 2;
int[] newSquare = new int[2];
newSquare[0] = i;
newSquare[1] = j - 2;
possibleSquares.addElement(newSquare);
} else if(area_xy[i][j - 2] == 1) {
links[2*linkCount] = i;
links[2*linkCount + 1] = j - 1;
linkCount++;
}
}
if(i + 3 <= area_xy.length) {
if(area_xy[i + 2][j] == 3) {
area_xy[i + 2][j] = 2;
int[] newSquare = new int[2];
newSquare[0] = i + 2;
newSquare[1] = j;
possibleSquares.addElement(newSquare);
} else if(area_xy[i + 2][j] == 1) {
links[2*linkCount] = i + 1;
links[2*linkCount + 1] = j;
linkCount++;
}
}
if(linkCount > 0) {
int linkChoice = getRandomInt(linkCount);
int linkX = links[2*linkChoice];
int linkY = links[2*linkChoice + 1];
area_xy[linkX][linkY] = 1;
int[] removeSquare = new int[2];
removeSquare[0] = linkX;
removeSquare[1] = linkY;
possibleSquares.removeElement(removeSquare);
}
}
public int getRandomInt(int upper) {
int retVal = acak_acak.nextInt() % upper;
if(retVal < 0) {
retVal += upper;
}
return(retVal);
}
}



sumber: 12 aplikasi java mobile (maxicom)

Sabtu, 16 Oktober 2010

Resep Anti Lupa

Semua penyakit pasti ada sumber penyebabnya. Begitu juga dengan penyakit lupa, engga akan muncul begitu saja. Apalagi yang mengalaminya remaja seusia kita yang seharusnya punya memori yang sangat kuat. Ada beberapa hal dapat timbulnya sifat pelupa di dalam diri kita.

1. pola makan yang tidak sehat. Menurut para dokter, timbunya lemak dan tingginya kadar kolesterol akibat keseringan makan junk food bisa menyebabkan peredaran darah ke otak jadi tidak lancer.

2. terlalu sibuk. Kegiatan sehari-hari yang padat bgt juga bisa jadi penyebab kita mudah lupa. Karena kebanyakan hal yang harus dikerjakan, kita jadi tidak focus dan selalu terburu-buru. Padahal kemamapuan otak kita untuk mencatat informasi ada batasnya.

3. stress. Beban masalah harus dipikirkan dan diselesaikan membuat kita membuat kita menjadi berfikir negatif., tidak bisa berkosentrasi dan mengabaikan hal-hal lain yang lebih penting.

Jurus Anti Lupa

Kalau sudah sadar diri kita suka lupa, jagan dibiarkan saja. Lakukan sesuatu untuk mengatasinya, ada beberapa jurus yang bisa kita coba untuk meminimalisir dampak dari pemnyakit lupa.

  1. Cara paling efektif adalah memasang reminder di HP kita yang akan mengingatkan kita harus melakukan apa. Biar lebih menarik perhatian kita, pasang nada alarm berisik dan aanoying banget.
  2. Tempelkan post it atau kertas berisi catatan di setiap sudut yang mudah terlihat. Misalnya dimeja belajar, pintu atau lemari. Buat catatan tersebut dengan tulisan yang besar dan menggunakan pulpen warna-warni supaya kelihatan jelas.
  3. Buat ceks list. Terutama di saat kita banyak hal yang harus kita kerjakan. Dengan selalu membuat check list, kita bisa menghindari kemungkinan melupakan sesuatu.
  4. Biasakan meletakan benda penting di lihat yang mudah terlihat. Jadi saat kita membutuhkannya, langsung terlihat dan tidak terlalu bingung mencarinya lagi.
  5. kurangi mekanan berlemak dan perbanyak mengkomsumsi makanan berprotein, buah, sayur, dan vitamin. Makanan sehat ini akan memberikan suntikan energi bagi otak kita.
  6. Olahraga secara teratur. Karena olahraga itu salain mempelancar aliran darah ke otak, juga bisa membuat kita relax sehingga stress dan kecemasan yang mengganggu pikiran bisa hilang.

Taimien, Minho, Jonghyun, Key, Onew……




Asyik…..Asyik…..
SHINee ngeluarin album baru niee, denger dech lagunya enak-enak didenger loh….apah lagi yang judulnya LUCIFER, gk cuma enak didenger lagunya penampilan dan stylist meraka juga tampil beda…


Shinee
Lucifer lyri
cs

[ONEW] Soomeul gotdo chatji mothae naneun piharyeogo aesseo bwado
Geobujocha hal su eopneun [TAEMIN] nege gadhyeobeorin na
[JONGHYUN] Sarangieotdamyeon jeongmal saranghaetdeon georamyeon naege ireojineun mala
Her whisper is the LUCIFER

[ALL] Nareul mukkgo gadundamyeon sarangdo mukkin chae
Miraedo mukkin chae keojil su eobtneunde
Ja yurobge biweo nuh go barabwa ojik neoman chae ulge
Neoman gadeuk chae ulge

Geobu hal su eobtneun neoeui maryeokeun LUCIFER
Geobu hal su eobtneun neoeui mabeobeun LUCIFER
Dagaseomyeon neoneun machi cheonsa gadeun eotgullo nareul saneun iyura malhago, malhago

[KEY] Neoreul cheoeum bwasseul Ddae ssalbeun sungan meomchweobaryeotji
Nuga machi nae simjangeul Ggwan jwin chae nohji anhneun geotcheoreom
[TAEMIN] (Ajikkkajitdo) Neoneun geureohke nae mameul dada dada dada gajyeo noko
[JONGHYUN] Niga eobseumyeon nae mami da tabeorige mandeunda

[ALL] Nareul mukkgo gadundamyeon sarangdo mukkin chae
Miraedo mukkin chae keojil su eobtneunde
Ja yurobge biweo nuh go barabwa ojik neoman chae ulge
Neoman gadeuk chae ulge
Loverholic, Robotronic, Loverholic, Robotronic.

[JONGHYUN] Neowa gati nanun sarangyaegideul
[ONEW] Narang gateun goseul baraboneun neo
[JONGHYUN] Uri deo isangeun hwanbyeokhaejil su eobtdago neukkyeosseul ddae
[MINHO] Naman chyeodabwa neoneun deo, deo, deo, deo, deo, deo nareul wonhae
[TAEMIN] Naman barabwa modeun ge, ge, ge, ge, ge, ge niga jungsim

[ONEW] Eonjeboteonga jogeumssik jalmotdoen geot gata isang han neo
[KEY]Nal Aldeon saramdeul modu hana dul ssik gyeoteul ddeona
[JONGHYUN] Nan gajin ge neobbonigo

[ALL] Nareul mukkgo gadundamyeon sarangdo mukkin chae
Miraedo mukkin chae keojil su eobtneunde
Ja yurobge biweo nuh go barabwa ojik neoman chae ulge
Neoman gadeuk chae ulge

[ONEW] Machi yuri seonge gadhyeobeorin bbi e roman doen geot gata
[TAEMIN] Jeoldae manjok eobtneun neoreul wihae chumeul choneun na
[KEY] Hweonhi deulyeodabogo noireul manjyeo babo doen geot gata
[TAEMIN] Nan jeomjeon nege kkeulryeoganeun geotman gateunde
Loverholic, Robotronic, Loverholic, Robotronic

[ONEW]Niga miun geon anya silhdan geotdo anya
Danji geureon nunbichi budamil ppun
[JONGHYUN] Eodi anga ireohke nan neoman barabogo gidaryeon watjanha

[MINHO](Rap) Neoui nunbichi nal sarojabda nali jinalsurok nalkaroweojyeotda
Neoeui jibchake jichyeotda manhi be eotda mame piga nanda
Na sseureojil Jjeum doimyeon dagawaseo cheonsagati "saranghae"ran mal
Nu ga jinjja neoyeotneunji aldagado haetgallige mandeunda

[ALL] Nareul mukkgo gadundamyeon sarangdo mukkin chae
Miraedo mukkin chae keojil su eobtneunde
Ja yurobge biweo nuh go barabwa ojik neoman chae ulge
Neoman gadeuk chae ulge

[JONGHYUN] Machi yuri seonge gadhyeobeorin bbi e roman doen geot gata
[MINHO] Nareul naebdweo jayuroweo jil ddae neoreul jinjja saranghal su itgo
[JONGHYUN] Hweonhi deulyeodabogo noireul manjyeo babo doen geot gata
[KEY] Nareul naebdweo jilrigedo amalgo neoreul jinjja barabol su itge

[ALL] Nareul mukkgo gadundamyeon sarangdo mukkin chae mirae do mukkin chae keojil su eobtneunde
Loverhollic, Robotronic, Loverhollic, Robotronic
Geobuhal su eobtneun neoeui maryeokeun LUCIFER