Giochi Java sono giochi per computer scritti nel computer programmazione lingua \"Java.\" giochi Java possono essere così complesso come i giochi dimensionale adrenalinica tre scritti in altre lingue, o semplice come un tradizionale puzzle jigsaw o word. Indipendentemente dal tipo di giochi che vogliono in definitiva creare, i programmatori di giochi possono iniziare ad imparare la programmazione di giochi Java copiando programmi esistenti, semplici come il seguente gioco di parole.
Istruzioni
1
Scaricare e installare il Java Development Kit (JDK) da java.sun.com. Iniziare a creare il programma di wordGame aprendo il blocco note e inserendo il codice riportato di seguito per classe principale del gioco:
importazione java.io
VAI
publicclass wordGame
{
/**
* Constructor for objects of class wordGame
*/
public wordGame()
{
}
public static void main (String args[])
{
Stringa strGuess
VAI
QuizMaster qm = nuovo QuizMaster()
VAI
qm.chooseWord()
VAI
Aprire la console per l'input
Console c = System.console()
VAI
if (c == null) {
System.err.println(\"No console.\")
VAI
System.exit(1)
VAI
}
Ciclo fino a quando il gioco è finito
while (!qm.gameOver()) {
qm.showGameboard()
VAI
System.out.format(\"You have %d attempts remaining.\\n\", qm.getRemainingAttempts() );
strGuess = c.readLine(\"Enter your guess: \")
VAI
qm.evaluateGuess(strGuess);
}// end main loop
if (qm.playerWon() ) {
System.out.format(\"You Won! It took you %d attempts.\\n\", qm.nGuessesNeeded())
VAI
System.out.format( qm.getWord())
VAI
}// if player won
else {
System.out.format(\"You lost. The word was %s\\n\", qm.getWord())
VAI
}// if player won
}//end of main
}
Salvare il file con il nome del file \"wordGame.java\" in una cartella denominata WordGame. Sia sicuro abbinare il caso di ogni lettera con quella indicata qui perché Java è case sensitive.
2
Creare la classe QuizMaster, che rappresenta un QuizMaster che sceglie parole a caso, confronta la congettura del giocatore al verbo selezionata e segnala quando il giocatore ha vinto o perso. Immettere il seguente codice di programma in un file denominato QuizMaster.java e salvarlo nella cartella WordGame che contiene il file wordGame.java:
import java
VAI
public class QuizMaster
{
private final int MAX_GUESSES_ALLOWED = 15
VAI
private String GameWords[]= {\"computer\", \"thoroughbred\", \"exceptional\", \"helicopter\", \"flugelhorn\" }
VAI
private String targetWord
VAI
private int nTriesLeft
VAI
private gameBoard gb
VAI
public QuizMaster()
{
nTriesLeft = MAX_GUESSES_ALLOWED
VAI
ritorno
VAI
}
public void chooseWord()
{
Random obRand = new Random()
VAI
int i = obRand.nextInt(GameWords.length);
targetWord = GameWords[i]
VAI
GB = gameBoard(targetWord) nuovo
VAI
}
public boolean gameOver() {
//There are two end conditions: the player wins or the nTriesLeft goes to 0
if (gb.blnMatch()) return true
VAI
if (nTriesLeft ==0) return true; else return false
VAI
}
public boolean playerWon() {
return (gb.blnMatch() )
VAI
}//player won
public int getRemainingAttempts(){
return nTriesLeft
VAI
}//showAttempts
public String getWord () {
return targetWord
VAI
}//showWord
public void showGameboard() {
gb.showBoard()
VAI
}//showGameboard
public int nGuessesNeeded () {
return MAX_GUESSES_ALLOWED - nTriesLeft
VAI
}//nGuessesNeeded
public void evaluateGuess(String strGuess) {
nTriesLeft -=1
VAI
gb.uncoverLetters(strGuess)
VAI
}
} ;// fine di QuizMaster classe
3
Creare la classe che scopre le lettere nella parola scelta dal QuizMaster che corrispondono le lettere inserite dal giocatore: in un file denominato gameBoard.java, immettere il seguente testo e salvarlo nella stessa cartella contenente i file di altri wordGame:
importazione java.io;
publicclass gameBoard
{
private String strGameboard
VAI
private String strTarget
VAI
private String lettersTested; // these are all the individual letters player has tried to match with
/**
* Constructor for objects of class gameBoard
*/
public gameBoard(String str)
{
strTarget = str
VAI
strGameboard = new String(str)
VAI
lettersTested = new String(\"\")
VAI
strGameboard = strGameboard.replaceAll(\".\", \"_\")
VAI
return
VAI
}
public void uncoverLetters(String str)
{
String strRE
VAI
//For guesses of one char long, uncover all letters in target that match
//But treat guesses longer than 1 char as a word against word. Uncover all or no letters
if (str.length() == 1) {
// concatenate new letter with letters already tested
lettersTested = lettersTested + str
VAI
strRE = \"[^\" + lettersTested + \"]\"
VAI
// hide all non-matching chars: replace all letters in target that do NOT match pattern with the underscore
strGameboard = strTarget.replaceAll(strRE, \"_\")
VAI
}
else {
if (str.compareToIgnoreCase(strTarget) == 0) {
strGameboard = strTarget;
}
}
return
VAI
}
public boolean blnMatch() {
ritorno (strTarget = = strGameboard)
VAI
}
public void showBoard() {
int i
VAI
per (i = 0; i < strTarget.length(); i + +) {
System.out.Format (\"%c \", strGameboard.charAt(i))
VAI
}
System.out.println(\"\n\")
VAI
}
} //end di gameBoard classe
4
Compilare il gioco: aprire un prompt dei comandi (Start > cmd), e digitare il percorso = \ "C:\Program Files\Java\jdk1.6.0_14\.\" questa cartella dovrebbe contenere il vostro compilatore java (javac.exe). Se non, individuare javac.exe utilizzando un motore di ricerca di Windows Explorer, quindi immettere il percorso con il percorso... = istruzione appena dato.
Prompt dei comandi, utilizzare il \"cd\" comando per passare alla cartella che contiene la cartella wordGame. Compilare tutti i file con questa affermazione: javac *. Java.
5
Eseguire il gioco digitando \"java wordGame\". Giocare il gioco inserendo una lettera alla volta, fino a quando si esegue fuori di congetture o indovinare la parola. Se si immette più di una lettera alla volta, la classe gameBoard pensa che si sta cercando di indovinare la parola intera e non scoprono tutte le lettere, a meno che non si corrispondono tutti.
6
Memorizzare e modificare il gioco per iniziare a creare i propri giochi. È possibile modificare facilmente le parole il QuizMaster sceglie da, notando come il \"GameWords =... \" istruzione è strutturato. È possibile modificare facilmente il numero di tentativi che il giocatore deve indovinare la parola con la dichiarazione contenente la costante MAX_GUESSES_ALLOWED.