September 2
Il linguaggio di programmazione Java può essere utilizzato per sviluppare applicazioni complesse che coinvolgono banche dati, suoni e video. Ma, può anche essere usato per sviluppare giochi semplici, incluse puzzle di parola. Un buon modo per imparare a fare un gioco in Java è quello di copiare, compilare ed eseguire uno esistente, come quella che segue.
1 Scaricare e installare il Java Development Kit (JDK) da java.sun.com. Quindi, inserire il codice di programma che crea il gioco: aprire il Blocco note (Start> \ "Notepad \") e inserire il seguente codice sorgente di Java, che gestisce il gioco. Assicurati di inserire la corretta caso di ogni lettera. Salvare il file di origine con il nome del file theGame.java.
import java.io. *
ANDARE
public class thegame
{
public theGame()
{
}
void main (String args []) public static
{
String strGuess
ANDARE
gameJudge mq = new gameJudge ()
ANDARE
qm.pickWord()
ANDARE
// Aprire la console per l'ingresso
Console c = System.Console ()
ANDARE
if (c == null) {
System.err.println(\"No console.\")
ANDARE
System.exit(1)
ANDARE
}
while (! qm.gameEnded ()) {
qm.displayWord()
ANDARE
System.out.format(\"You have %d attempts remaining.\\n\", qm.getRemainingGuesses() );
strGuess = c.readLine(\"Enter your guess: \")
ANDARE
qm.judgeGuess(strGuess);
}// end main loop
if (qm.blnWin ()) {
System.out.format (\ & quot;!. È lo ha vinto si sono voluti% d tentativi \\ n \ & quot ;, qm.nGuessesNeeded ())
ANDARE
System.out.format( qm.getWord())
ANDARE
}// if player won
else {
System.out.format(\"You lost. The word was %s\\n\", qm.getWord())
ANDARE
}// if player won
}//end of main
}
2 Digitare o inserire il codice sorgente che rappresenta la persona che prende la parola casuale. Fate questo in un nuovo file di blocco note chiamato gameJudge.java. Salvare il file nella stessa cartella come theGame.java.
import java.util. *
ANDARE
public class gameJudge
{
private final int MAX_GUESSES = 8
ANDARE
private String wordList[]= {\"dog\", \"house\", \"element\", \"mother\", \"earth\" }
ANDARE
private String goalWord
ANDARE
private int nGuessesLeft
ANDARE
private wordDisplay gb
ANDARE
public gameJudge()
{
nGuessesLeft = MAX_GUESSES
ANDARE
ritorno
ANDARE
}
public void pickWord()
{
Random obRand = new Random()
ANDARE
int i = obRand.nextInt (wordList.length);
goalWord = wordList[i]
ANDARE
GB = new wordDisplay (goalWord)
ANDARE
}
public boolean gameEnded() {
if (gb.blnMatch()) return true
ANDARE
if (nGuessesLeft ==0) return true; else return false
ANDARE
}
public boolean blnWin () {
ritorno (gb.blnMatch ())
ANDARE
}//player won
getRemainingGuesses public int () {
tornare nGuessesLeft
ANDARE
}
public String getword () {
tornare goalWord
ANDARE
}
public void displayWord () {
gb.showWord ()
ANDARE
}
public int nGuessesNeeded () {
tornare MAX_GUESSES - nGuessesLeft
ANDARE
}
judgeGuess public void (String strGuess) {
nGuessesLeft - = 1
ANDARE
gb.exposeLetters(strGuess)
ANDARE
}
} // Fine della classe gameJudge
3 Inserisci il codice sorgente che mostra le lettere della parola di destinazione. Salvare il file con gli altri e chiamarlo wordDisplay.java:
import java.io. *;
public class wordDisplay
{
private String strDisplay
ANDARE
private String strGoal
ANDARE
private String lettersTried; // the letters player has tried
wordDisplay pubblico (String str)
{
strGoal = str
ANDARE
strDisplay = new String(str)
ANDARE
lettersTried = new String(\"\")
ANDARE
strDisplay = strDisplay.replaceAll(\".\", \"_\")
ANDARE
return
ANDARE
}
exposeLetters public void (String str)
{
String strRE
ANDARE
//If a guess is longer than 1 char, uncover all or no letters
if (str.length () == 1) {
// Concatenare nuova lettera con le lettere già testato
lettersTried = lettersTried + str
ANDARE
strRE = \"[^\" + lettersTried + \"]\"
ANDARE
// hide all non-matching chars: replace all letters in target that do NOT match pattern with the underscore
strDisplay = strGoal.replaceAll(strRE, \"_\")
ANDARE
}
altro {
if (str.compareToIgnoreCase (strGoal) == 0) {
strDisplay = strGoal;
}
}
return
ANDARE
}
public boolean blnMatch() {
tornare (strGoal == strDisplay)
ANDARE
}
public void showWord () {
int i
ANDARE
for (i = 0; i <strGoal.length (); i ++) {
System.out.format (\ "% c \", strDisplay.charAt (i))
ANDARE
}
System.out.println (\ "\ n \")
ANDARE
}
}
4 Compilare ed eseguire il programma: scegliere Start> \ "cmd \" e usare \ "cd <dir> \" per accedere alla cartella che contiene i file di origine .java. Il \ "<dir> \" si riferisce a quella directory. Impostare il percorso per il compilatore Java: \ "set PATH = C: \ Program Files \ Java \ jdk1.6.0_14 \ bin \". Sostituire il \ "1.6.0_14 \" con la versione corretta del compilatore, che si può ottenere dalla documentazione del JDK è stato scaricato.
Inserisci \ "javac * .java \" seguito da \ "java thegame, \" poi giocare il gioco in questo modo: si noti il numero di spazi vuoti; digitare una lettera alla volta fino a indovinare la parola; digitare la parola intera, una volta si riconosce.
5 Creare copie dei file originali e cambiare il gioco. Iniziare modificando la variabile wordList, e anche la costante MAX_GUESSES.