permainan Java game komputer ditulis dalam bahasa pemrograman komputer "Java." Java games dapat sebagai kompleks sebagai-menembak-up nya Pukul tiga pertandingan dimensi ditulis dalam bahasa lain, atau yang sederhana seperti teka tradisional atau teka-teki kata. Terlepas dari jenis permainan yang mereka akhirnya ingin menciptakan, programmer game bisa mulai belajar pemrograman game Java dengan menyalin yang ada, program sederhana seperti permainan kata berikut.
Kesulitan: Cukup Menantang
Petunjuk
1
Download dan menginstal Java Development Kit (JDK) dari java.sun.com. Mulai membuat program wordGame dengan membuka NotePad dan memasukkan kode berikut untuk kelas utama permainan:
import java.io. *;
public class wordGame
{
/ **
* Constructor untuk kelas objek wordGame
* /
publik wordGame ()
{
}
public static void main (String args [])
{
String strGuess;
Pembawa acara kuis qm baru = pembawa acara kuis ();
qm.chooseWord ();
/ / Buka konsol untuk input
Console c = System.console ();
if (c == null) {
System.err.println ("Tidak konsol.");
System.out.println (1);
}
/ / Loop sampai permainan selesai
sedangkan (qm.gameOver ()!) {
qm.showGameboard ();
System.out.format ("Anda memiliki% d upaya tersisa \ n.", Qm.getRemainingAttempts ());
strGuess = c.readLine ("Masukkan Anda menebak:");
qm.evaluateGuess (strGuess);
} / / End loop utama
if (qm.playerWon ()) {
System.out.format ("!. Anda Won Anda butuh upaya% d \ n", qm.nGuessesNeeded ());
System.out.format (qm.getWord ());
} / / Jika pemain menang
else {
System.out.format ("Anda hilang kata ini% s \ n.", Qm.getWord ());
} / / Jika pemain menang
} / / Akhir utama
}
Simpan file dengan "wordGame.java" nama file dalam folder bernama WordGame. Pastikan untuk mencocokkan kasus setiap surat yang diberikan di sini karena Java adalah case sensitive.
2
Buat kelas pembawa acara kuis, yang merupakan pembawa acara kuis yang memilih kata-kata secara acak, membandingkan menebak pemain ke kata yang dipilih dan laporan ketika pemain telah menang atau kalah. Masukkan kode program berikut dalam sebuah file yang bernama QuizMaster.java dan menyimpannya dalam folder WordGame yang berisi file wordGame.java:
import java.util .*;
public class pembawa acara kuis
{
private final int MAX_GUESSES_ALLOWED = 15;
private String GameWords [] = {"komputer", "ras", "luar biasa", "helikopter", "flugelhorn"};
private String targetWord;
private int nTriesLeft;
swasta gameBoard gb;
publik pembawa acara kuis ()
{
nTriesLeft = MAX_GUESSES_ALLOWED;
kembali;
}
public void chooseWord ()
{
Random obRand = Acak baru ();
int i = obRand.nextInt (GameWords.length);
targetWord = GameWords [i];
gb gameBoard = baru (targetWord);
}
public boolean gameOver () {
/ / Ada dua kondisi akhir: memenangkan pemain atau nTriesLeft pergi ke 0
if (gb.blnMatch ()) return true;
jika (nTriesLeft == 0) return true; kembali selain itu salah;
}
public boolean playerWon () {
kembali (gb.blnMatch ());
} / / Pemutar dimenangkan
public int getRemainingAttempts () {
kembali nTriesLeft;
} / / ShowAttempts
public String getWord () {
kembali targetWord;
} / / ShowWord
public void showGameboard () {
gb.showBoard ();
} / / ShowGameboard
public int nGuessesNeeded () {
kembali MAX_GUESSES_ALLOWED - nTriesLeft;
} / / NGuessesNeeded
public void evaluateGuess (String strGuess) {
nTriesLeft -= 1;
gb.uncoverLetters (strGuess);
}
}; / / Akhir kelas pembawa acara kuis
3
Buat kelas yang menyingkap huruf pada kata yang dipilih oleh pembawa acara kuis yang cocok dengan huruf yang dimasukkan oleh pemain: dalam sebuah file yang bernama gameBoard.java, masukkan teks berikut dan simpan di folder yang sama berisi file wordGame lain:
import java.io. *;
public class gameBoard
{
private String strGameboard;
private String strTarget;
String swasta lettersTested; / / ini semua individu huruf pemain telah berusaha untuk sesuai dengan
/ **
* Constructor untuk kelas objek gameBoard
* /
publik gameBoard (String str)
{
strTarget = str;
strGameboard = new String (str);
lettersTested = new String ("");
strGameboard = strGameboard.replaceAll (".", "_");
kembali;
}
public void uncoverLetters (String str)
{
String strRE;
/ / Untuk menebak satu char panjang, mengungkap semua huruf dalam target yang cocok
/ / Tapi memperlakukan tebakan lebih dari 1 char sebagai kata terhadap kata. Mengungkap semua atau tidak ada surat
if (str.length () == 1) {
/ / Surat baru menggabungkannya dengan huruf yang sudah diuji
lettersTested = lettersTested + str;
strRE = "[^" + lettersTested + "]";
/ / Menyembunyikan semua karakter yang tidak cocok: ganti semua huruf dalam target yang TIDAK sesuai pola dengan garis bawah
strGameboard = strTarget.replaceAll (strRE, "_");
}
else {
if (str.compareToIgnoreCase (strTarget) == 0) {
strGameboard = strTarget;
}
}
kembali;
}
public boolean blnMatch () {
kembali (strTarget == strGameboard);
}
public void showBoard () {
int i;
untuk (i = 0; strTarget.length <i (); i + +) {
System.out.format ("% c", strGameboard.charAt (i));
}
System.out.println ("\ n");
}
} / / Akhir kelas gameBoard
4
Kompilasi permainan: buka command prompt (Start> cmd), dan ketik PATH = "C: \ Program Files \ Java \ jdk1.6.0_14 \." Folder ini harus berisi compiler java anda (javac.exe). Jika tidak, cari javac.exe menggunakan pencarian Windows Explorer, kemudian masukkan path dengan PATH =... pernyataan hanya diberikan.
Pada prompt perintah, gunakan "cd" perintah untuk menavigasi ke folder yang berisi folder wordGame. Mengkompilasi semua file dengan pernyataan ini: javac *. java.
5
Menjalankan permainan dengan mengetik "java wordGame". Mainkan permainan dengan memasukkan satu huruf pada satu waktu, sampai Anda kehabisan tebakan atau Anda menebak kata. Jika Anda memasukkan lebih dari satu surat sekaligus, kelas gameBoard berpikir Anda sedang mencoba menebak seluruh kata dan tidak akan menemukan huruf kecuali jika Anda cocok dengan mereka semua.
6
Hafalkan dan memodifikasi permainan untuk mulai membuat game sendiri. Anda dapat dengan mudah mengubah kata-kata pembawa acara kuis memilih dari, dengan memperhatikan bagaimana "GameWords =..." pernyataan disusun. Anda dapat dengan mudah mengubah nomor dari mencoba pemain harus menebak kata tersebut dengan pernyataan yang berisi MAX_GUESSES_ALLOWED konstan.