Game Sederhana
IRAWAN
e-mail : irawan_cyber@yahoo.com.sg
Penerbit Maxikom
Jl. Residen H. Abdul Rozak No. 33 B5-B6
Palembang 30114.
e-mail: maxi@maxikom.co.id
Fax. (0711) 717598
www.maxikom.co.id
1
Game Sederhana
Pada E-Trik berikut ini kita akan membuat game sederhana dengan JCreatorLE
3.0. Pada game ini pemain di ajak untuk mencari gambar yang sama dengan
jumlah mencoba yang seminimal mungkin. Yang paling sedikit jumlah
mencobanya adalah pemain paling tinggi nilainya. Pada game sederhana ini
kita akan menerapkan logika bagaimana menampilkan gambar secara acak dan
menggunakan file dengan format gambar seperti jpg ,bmp, serta format gambar
lainnya pada Java.
A Menyiapkan Program.
2
Game Sederhana Copyright © Maxikom, 2007
3 4
1
Gambar 2 Membuka Aplikasi JCreator 3.0 LE
1
2 3
4. Setelah itu akan muncul kotak dialog File Wizard, lalu pilih Java File
kemudian klik Tombol . Lihat Gambar 4.
3
Game Sederhana Copyright © Maxikom, 2007
Klik Next
4
Game Sederhana Copyright © Maxikom, 2007
Judul File
Jendela Kode
Program ACDSee
Contoh gambar
Ukuran = 100x100
5
Game Sederhana Copyright © Maxikom, 2007
8. Untuk Image pilihlah 12 gambar format jpg yang berbeda dengan
ukuran yang sama seperti File background. Kemudian beri nama
keduabelas gambar tersebut dengan nama image1-image12 (tanpa
spasi). Lihat Gambar 8.
6
Game Sederhana Copyright © Maxikom, 2007
B Listing Program.
7
Game Sederhana Copyright © Maxikom, 2007
41 buttonPane.add(replayButton,b);
42 exitButton = new JButton();
43 b.gridx = 1;
44 b.gridy = 0;
45 buttonPane.add(exitButton,b);
46 numTriesLabel.setText("Total Coba: "
47 + numTries +" x");
48 replayButton.setMnemonic('S');
49 replayButton.setText("Acak Gambar");
50 replayButton.setToolTipText("Acak Gambar");
51 replayButton.addActionListener(
52 new java.awt.event.ActionListener() {
53 public void actionPerformed
54 (java.awt.event.ActionEvent evt) {
55 replayButtonActionPerformed(evt);
56 }
57 });
58 exitButton.setMnemonic('x');
59 exitButton.setText("Keluar");
60 exitButton.setToolTipText("Keluar");
61 exitButton.addActionListener(
62 new java.awt.event.ActionListener() {
63 public void actionPerformed
64 (java.awt.event.ActionEvent evt) {
65 exitButtonActionPerformed(evt);
66 }
67 });
68 for (int i = 0; i < cards.length; i++)
69 {
70 cards[i] = new JToggleButton("Card: " + i);
71 cards[i].addActionListener(this);
72 cards[i].setSize(100,100);
73 cards[i].setIcon(new ImageIcon
74 (".\\background.jpg"));
75 cards[i].setText("");
76 cardPane.add(cards[i]);
77 }
78 getContentPane().add(buttonPane,
79 BorderLayout.SOUTH);
80 getContentPane().add(cardPane,
81 BorderLayout.NORTH);
82 }
83 private void replayButtonActionPerformed
84 (java.awt.event.ActionEvent evt) {
8
Game Sederhana Copyright © Maxikom, 2007
85shuffleCards();
86 }
87 private void shuffleCards() {
88 int[] temparray = new int[3];
89 for (int shuffle = 0; shuffle < 5; shuffle++){
90 for (int x = 0; x < tilemap.length; x++) {
91 temparray[0] = (int)Math.floor
92 (Math.random()*24);
93 temparray[1] = tilemap[temparray[0]];
94 temparray[2] = tilemap[x];
95 tilemap[x] = temparray[1];
96 tilemap[temparray[0]] = temparray[2];
97 }
98 }
99 for (int i = 0; i < cards.length; i++) {
100 cards[i].setSelectedIcon(new ImageIcon
101 (".\\image"+tilemap[i]+".jpg"));
102 cards[i].setText("" + i);
103 cards[i].setEnabled(true);
104 cards[i].setVisible(true);
105 cards[i].setSelected(false);
106 }
107 cardsLeft = 24;
108 numTries = 0;
109 numTriesLabel.setText("Total Coba: "
110 + numTries+" x");
111 }
112 public void actionPerformed
113 (java.awt.event.ActionEvent e)
114 {
115 int iconMarker = 0;
116 int nameMarker = 0;
117 String card1String = "";
118 String card2String = "";
119 String nameText = "";
120 cardsSelected++;
121 if (cardsSelected == 3) {
122 card1Object = null;
123 cards[card1Num].setSelected(false);
124 card2Object = null;
125 cards[card2Num].setSelected(false);
126 cardsSelected = 1;
127 }
128 if (card1Object == null) {
9
Game Sederhana Copyright © Maxikom, 2007
10
Game Sederhana Copyright © Maxikom, 2007
173}
174 }
175 private void exitButtonActionPerformed(java.awt.event
176 .ActionEvent evt) {
177 System.exit(0);
178 }
179 public static void main(String args[]) {
180 java.awt.EventQueue.invokeLater(
181 new Runnable() {
182 public void run() {
183 new CariGambar().setVisible(true);
184 }
185 });
186 }
187 private javax.swing.JPanel cardPane;
188 private javax.swing.JButton exitButton;
189 private javax.swing.JButton replayButton;
190 private javax.swing.JLabel numTriesLabel;
191 }
Keterangan :
- Baris 1-4 merupakan fungsi Java API yang akan kita gunakan untuk memanggil
kompenen-komponen GUI(Graphical User Interface) Java.
- Baris 5-6 mendeklarasikan class Carigambar.
- Baris 7-22 mendeklarasikan Variabel dan Object yang akan digunakan.
- Baris 23-82 kode-kode pengaturan tampilan dan posisi Object yang digunakan.
- Baris 83-86 memanggil Method shuffleCards.
- Baris 87-111 kode Method shuffleCards dengan logika Array yang berfungsi
untuk mengacak file image1-12 kemudian menampilkannya kembali.
- Baris 112-174 merupakan kode-kode logika dalam game AcakGambar.
Pada Baris 115-120 kode-kode untuk mengosongkan nilai Variabel.
Pada Baris 121-127 kode-kode logika jika pemain mengklik gambar ke-3 maka
secara otomatis gambar 1dan 2 dianggap tidak terseleksi, karena pemain hanya
boleh melihat 2 gambar saja.
- Baris 128-153 kode-kode logika jika salah satu dari sepasang gambar yang dipilih
tidaklah sama.
- Baris 154-167 kode-kode logika jika semua gambar dari sepasang gambar yang
dipilih adalah gambar yang sama.
- Baris 168-174 kode-kode logika jika semua gambar berhasil dibuka, maka game
selesai.
11
Game Sederhana Copyright © Maxikom, 2007
Keterangan :
- Baris 175-178 kode-kode perintah untuk keluar dari program ketika Tombol Exit
di klik.
- Baris 179-186 kode-kode perintah untuk menampilkan File-file gambar pada saat
program dijalankan.
- Baris 187-190 kode-kode perintah memberi nama pada komponen-komponen
Swing.
- Baris 191 akhir blok kode class CariGambar.
Klik Compile
Status Compile
C Menjalankan Program.
13
Game Sederhana Copyright © Maxikom, 2007
14
Game Sederhana Copyright © Maxikom, 2007
6. Jika berhasil menyelesaikan game, maka akan nilai jumlah berapa kali
anda mencoba membuka sepasang gambar. Semakin kecil jumlah
mencoba nya berarti semakin tinggi nilainya. Lihat Gambar 16.
Jumlah Mencoba
Gambar 16 Tampilan Game Selesai
15