- Pambuka
- Inisialisasi game
- Nggawe lapangan dolanan
- Program primitif
- Nggarap sel saka lapangan playing
- Nggarap werna
- Kothak dialog
- Metode Utilitas
- watesan engine Game
1. Pambuka
Ana telung tahap ing implementasine game komputer saka pangembang:- Inisialisasi game yaiku tumindak persiapan: nyetel ukuran lan gambar lapangan, nggawe lan nginstal obyek game ing posisi awal, uga tumindak liyane sing kudu ditindakake ing wiwitan game.
- Proses game. Iki kalebu gerakan obyek game, tumindak pamuter, accounting kanggo TCTerms entuk, uga tumindak liyane sing kudu dileksanakake ing interval tartamtu utawa kanthi mencet tombol.
- Mungkasi game. Iki kalebu animasi mandeg, nglaporake kamenangan utawa kekalahan, lan tumindak liyane sing kudu ditindakake ing pungkasan game.
2. Inisialisasi game
Initializing game kasusun saka mung rong langkah:Langkah 1: nggawe kelas game utama.
Kanggo ngembangake game sampeyan adhedhasar mesin game JavaRush, sampeyan kudu nggawe kelas lan entuk warisan saka kelas Game (com.javarush.engine.cell.Game). Iki bakal menehi kelas sampeyan bisa nelpon cara ing mesin game, lan kemampuan kanggo mesin nelpon cara sampeyan. Tuladha:import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
...
}
Langkah 2: ngganti cara initialize ().
Ing metode iki, kabeh tumindak sing dibutuhake kanggo miwiti game bakal ditindakake: nggawe lapangan dolanan, nggawe obyek game, lsp. Sampeyan mung kudu ngumumake cara iki ing kelas sing diwenehi warisan saka kelas Game . Tuladha:import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// Тут выполняем все действия по инициализации игры и ее an objectов
}
}
Cara initialize () iku analog saka cara utama () : iku ngendi kabeh kode ditulis kanggo game wiwit kaleksanan.
3. Nggawe lapangan dolanan
Nggawe lapangan playing uga kasusun saka mung rong langkah.Langkah 1: dibagi lapangan playing menyang sel.
Kabeh lapangan muter dipérang dadi sel dening mesin game. Ukuran minimal 3x3, maksimal 100x100. Layar game wis ukuran pancet. Bisa dipérang dadi macem-macem nomer sel. Contone, jembaré 7 lan dhuwur 9:import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// задали размер поля 7x9 клеток
setScreenSize(7, 9);
...
}
}
Nalika nulis game, sampeyan bisa uga kudu njaluk jembaré saiki lan dhuwur saka lapangan playing. Cara int getScreenWidth () lan int getScreenHeight () migunani kanggo iki .
Langkah 2: Nguripake utawa mateni kothak (opsional).
Yen sampeyan ora kaya kothak ireng sing misahake sel ing lapangan playing, sampeyan bisa mateni. Metode void showGrid(boolean isShow) nguripake lan mateni sel sing misahake kothak. Kanthi gawan, kothak ditampilake. Kanggo mateni, nelpon metode iki nganggo parameter palsu:showGrid(false);
asil:
showGrid(true);
4. Program primitif
Contoh program:public class MySuperGame extends Game {
@Override
public void initialize() {
// Создаем игровое поле 3x3 клетки
setScreenSize(3, 3);
// Выключаем отображение сетки
showGrid(false);
// Меняем фон центральной клетки на синий, и отображаем в ней “Х”
setCellValueEx(1, 1, Color.BLUE, "X", Color.ORANGE, 50);
}
}
Ing conto iki, ukuran lapangan muter disetel kanggo 3x3, tampilan kothak dipateni, lan oranye setengah sel ukuran simbol "X" disetel ing tengah ing latar mburi biru. Iki bakal dadi bab pisanan sing pemain weruh nalika miwiti game.
5. Nggarap sel saka lapangan playing
Kasunyatan manawa kita bisa mbagi lapangan dolanan dadi sel sing apik, nanging apa sing bisa ditindakake kanthi sel kasebut? Saben sel ing lapangan dolanan bisa disetel:- werna sel (warna latar mburi sel);
- teks (teks utawa nomer);
- werna teks;
- ukuran teks minangka persentasi relatif kanggo ukuran sel.
-
void setCellColor(int x, int y, Warna warna) — nyetel warna sel kanthi koordinat (x, y):
setCellColor(0, 0, Color.RED); setCellColor(3, 6, Color.BLACK); setCellColor(6, 8, Color.NONE);
-
Warna getCellColor(int x, int y) - ngasilake werna sel kanthi koordinat (x, y):
Color myColor = getCellColor(2, 0);
-
void setCellValue(int x, int y, String value) - nempatake nilai teks ing sel kanthi koordinat (x, y):
setCellValue(3, 3, "text"); setCellValue(0, 8, "W"); setCellValue(4, 1, "2222"); setCellValue(6, 6, "");
-
String getCellValue(int x, int y) - ngasilake teks sing ana ing sel kanthi koordinat (x, y):
String s = getCellValue(3, 3); System.out.println(getCellValue(4, 1));
-
void setCellTextSize(int x, int y, ukuran int) - nyetel ukuran isi ing sel kanthi koordinat (x, y). ukuran - dhuwur teks minangka persentase dhuwur sel:
setCellTextSize(2 , 0, 70); // 70% высоты клетки
-
int getCellTextSize(int x, int y) - ngasilake ukuran isi ing sel kanthi koordinat (x, y):
int size = getCellTextSize(2 , 0);
-
void setCellNumber(int x, int y, int value) - nempatake nilai angka ing sel kanthi koordinat (x, y):
setCellNumber(3, 3, 40); setCellNumber(0, 8, -8); setCellNumber(4, 1, 2222); setCellNumber(6, 6, 0);
-
int getCellNumber(int x, int y) - ngasilake nomer sing ana ing sel kanthi koordinat (x, y). Yen sel ora ngemot nomer, ngasilake 0:
int i = getCellNumber(3, 3); System.out.println(getCellNumber(4, 1));
-
void setCellTextColor(int x, int y, Warna warna) — nyetel warna isi (teks) ing sel kanthi koordinat (x, y):
setCellTextColor(2, 1, Color.GREEN); setCellTextColor(0, 1, Color.NONE);
-
Warna getCellTextColor(int x, int y) - ngasilake werna isi (teks) ing sel kanthi koordinat (x, y):
Color textColor = getCellTextColor(1, 3);
-
void setCellValueEx(int x, int y, Color cellColor, String value) — nyetel sel kanthi koordinat (x, y) warna latar mburi cellColor lan nilai isi:
setCellValueEx(0, 2, Color.BLUE, "56");
-
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor) — nyetel sel kanthi koordinat (x, y) latar mburi cellColor, isi lan isi teks Warna:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN);
-
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor, int textSize); — nyetel sel kanthi koordinat (x, y) warna latar mburi selWarna, nilai isi, isi warna teksWarna lan ukuran isi teksUkuran:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN, 70);
6. Nggarap werna
Werna ing mesin game dikontrol dening enum Warna , sing ngemot nilai unik kanggo 148 warna. Lan uga nilai khusus NONE - ora ana warna. Tuladha nggarap warna:Color myColor = Color.WHITE; // переменной myColor присваивается белый цвет.
Color redColor = Color.RED; // переменной redColor присваивается красный цвет.
Color blueColor = Color.BLUE; // переменной blueColor присваивается синий цвет.
Kadhangkala sampeyan pengin njaluk macem-macem warna sing ana. Kanggo nindakake iki, gunakake metode values() . Tuladhane:
// переменной colors присваивается массив, содержащий все доступные цвета.
Color[] colors = Color.values();
Entuk nomer warna ing palet gampang banget:
Color color = Color.RED;
int redIndex = color.ordinal(); // Номер красного цвета
int blueIndex = Color.BLUE.ordinal(); // Номер синего цвета
Sampeyan uga bisa entuk warna kanthi nomer:
// переменной color присваивается цвет с индексом 10 из enum Color.
Color color = Color.values()[10];
7. Kothak dialog
Ing pungkasan game, pemain kudu dilaporake babagan kamenangan utawa kekalahan. Ana cara khusus kanggo iki sing nampilake kothak dialog ing layar game:void showMessageDialog(Color cellColor, String message, Color textColor, int textSize)
kene:
- cellColor - werna latar mburi kothak dialog;
- pesen - pesen teks;
- textColor — werna teks pesen;
- textSize — ukuran teks pesen.
8. Metode Utilitas
Nomer acak asring digunakake nalika nulis game. Kanggo nggawe luwih gampang kanggo njupuk nomer acak, sampeyan bisa nggunakake cara mesin kethokan:- int getRandomNumber(int max) - ngasilake integer acak saka 0 nganti (maks-1) kalebu.
- int getRandomNumber(int min, int max) - ngasilake integer acak saka min nganti (maks-1) kalebu.
GO TO FULL VERSION