1. Bekerja dengan sel-sel di lapangan bermain
Sangat menyenangkan bahwa kami dapat membagi lapangan bermain menjadi sel-sel. Tapi apa yang bisa kita lakukan dengan sel itu sendiri?
Untuk setiap sel lapangan permainan, kita dapat mengatur:
- warna sel (warna latar belakang sel);
- teks (bisa berupa teks atau angka);
- warna teks;
- ukuran teks sebagai persentase dari ukuran sel.
Mari pertimbangkan metode untuk bekerja dengan sel-sel di lapangan bermain:
void setCellColor(int x, int y, Color color)
mengatur warna sel dengan koordinat (x, y)
sama dengan color
.
Contoh:
setCellColor(0, 0, Color.RED);
setCellColor(3, 6, Color.BLACK);
setCellColor(6, 8, Color.NONE);
Color getCellColor(int x, int y)
mengembalikan warna sel dengan koordinat (x, y)
.
Contoh:
Color myColor = getCellColor(2, 0);
void setCellValue(int x, int y, String value)
menugaskan teks ke dalam String value
sel dengan koordinat (x, y)
.
Contoh:
setCellValue(3, 3, "text");
setCellValue(0, 8, "W");
setCellValue(4, 1, "2222");
setCellValue(6, 6, "");
String getCellValue(int x, int y)
mengembalikan teks yang terkandung dalam sel dengan koordinat (x, y)
.
Contoh:
String s = getCellValue(3, 3);
System.out.println(getCellValue(4, 1));
void setCellTextSize(int x, int y, int size)
mengatur ukuran teks dalam sel dengan koordinat (x, y)
, di mana size
tinggi teks sebagai persentase dari tinggi sel.
Contoh:
setCellTextSize(2, 0, 70); // 70% of the cell height
int getCellTextSize(int x, int y)
mengembalikan ukuran konten dalam sel dengan koordinat (x, y)
.
Contoh:
int size = getCellTextSize(2 , 0);
void setCellNumber(int x, int y, int value)
menetapkan nomor int value
ke sel dengan koordinat (x, y)
.
Contoh:
setCellNumber(3, 3, 40);
setCellNumber(0, 8, -8);
setCellNumber(4, 1, 2222);
setCellNumber(6, 6, 0);
int getCellNumber(int x, int y)
mengembalikan nomor yang terkandung dalam sel dengan koordinat (x, y)
. Jika sel tidak berisi angka, ia mengembalikan 0.
Contoh:
int i = getCellNumber(3, 3);
System.out.println(getCellNumber(4, 1));
void setCellTextColor(int x, int y, Color color)
mengatur warna konten (teks) sel dengan koordinat (x, y)
.
Contoh:
setCellTextColor(2, 1, Color.GREEN);
setCellTextColor(0, 1, Color.NONE);
Color getCellTextColor(int x, int y)
mengembalikan warna konten (teks) sel dengan koordinat (x, y)
.
Contoh:
Color textColor = getCellTextColor(1, 3);
Untuk kenyamanan Anda, ada beberapa setCellValueEx()
metode dengan set parameter yang berbeda:
void setCellValueEx(int x, int y, Color cellColor, String value)
menyetel warna latar belakang dan teks sel dengan koordinat masing-masing (x, y)
sama dengan cellColor
dan value
.
Contoh:
setCellValueEx(0, 2, Color.BLUE, "56");
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor)
mengatur warna latar belakang, teks, dan warna teks sel dengan koordinat masing-masing (x, y)
sama dengan cellColor
, value
, dan textColor
.
Contoh:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN);
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor, int textSize);
mengatur warna latar belakang, teks, warna teks, dan ukuran teks sel dengan koordinat masing-masing (x, y)
sama dengan cellColor
, value
, textColor
, dan textSize
.
Contoh:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN, 70);
2. Bekerja dengan warna
Mesin game CodeGym memiliki Color
tipe khusus yang berisi nilai unik untuk 148 warna. Ini juga memiliki nilai khusus NONE
yang mewakili tidak adanya warna.
Contoh bekerja dengan warna
Color myColor = Color.WHITE; // The color white is assigned to the myColor variable.
Color redColor = Color.RED; // The color red is assigned to the redColor variable.
Color blueColor = Color.BLUE; // The color blue is assigned to the blueColor variable.
Anda dapat mewarnai sel merah menggunakan perintah:
setCellColor(0, 2, Color.RED);
Anda dapat memeriksa apakah suatu sel memiliki warna tertentu dengan perintah seperti:
if (getCellColor(0,2) == Color.GREEN)
{
}
Terkadang Anda mungkin perlu mendapatkan larik dari setiap warna yang memungkinkan. Untuk melakukan ini, gunakan values()
metode ini.
Contoh:
// An array containing every available color is assigned to the colors variable.
Color[] colors = Color.values();
Mendapatkan indeks warna dalam palet warna sangat mudah dilakukan — cukup gunakan ordinal()
metode:
Color color = Color.RED;
int redIndex = color.ordinal(); // Index of the color red
int blueIndex = Color.BLUE.ordinal(); // Index of the color blue
Anda juga dapat dengan mudah mendapatkan warna dengan indeksnya:
// The color whose index is 10 in the Color enum is assigned to the color variable.
Color color = Color.values()[10];
3. Kotak dialog
Di akhir permainan, kita perlu memberi tahu pemain apakah dia menang atau kalah. Untuk ini dan kesempatan lainnya, mesin game CodeGym memiliki void showMessageDialog(Color cellColor, String message, Color textColor, int textSize)
metode khusus, yang menampilkan kotak dialog dengan message
pesan tersebut.
Parameter dari metode ini adalah:
cellColor
adalah warna latar belakang kotak dialogmessage
adalah teks pesantextColor
adalah warna teks pesantextSize
adalah ukuran teks pesan
Kotak dialog menutup sendiri jika pengguna menekan spasi atau mengklik kotak dialog dengan mouse.
Contoh pemanggilan metode ini:
// Display a dialog box with a message
showMessageDialog(Color.BLACK, "EPIC FAIL", Color.RED, 80);
4. Metode utilitas
Saat menulis game, Anda akan sering menggunakan angka acak. Untuk memudahkan mendapatkan angka acak, Anda dapat menggunakan metode utilitas mesin game:
int getRandomNumber(int max)
mengembalikan nomor acak dari 0
hingga (max–1)
inklusif.
int getRandomNumber(int min, int max)
mengembalikan nomor acak dari min
hingga (max–1)
inklusif.
5.JDK 11+
Saat menjalankan program Anda dari IntelliJ IDEA, kelas yang mewarisi kelas Game dapat menghasilkan kesalahan berikut:
Error: JavaFX runtime components are missing, and are required to run this application
Dalam hal ini, untuk setiap kelas tersebut, Anda perlu melakukan langkah-langkah ini satu kali:
- Buka Jalankan → EditKonfigurasi
- Untuk nilai opsi VM , masukkan yang berikut ini:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
PERHATIAN:
Di versi IntelliJ IDEA terbaru, kolom "Opsi VM" tidak ditampilkan secara default. Untuk menampilkannya, tekan ALT+V
- Tekan: Terapkan → OK
- Jalankan permainan.
GO TO FULL VERSION