Télécharger et installer le kit de développement Java (JDK) de java.sun.com. Commencez à créer le programme Jeux de lettres en ouvrant bloc-notes et en entrant le code suivant pour la classe principale du jeu:
import java.io. *
GO
Jeux de lettres public class
{
/ **
* Constructeur d'objets de la classe Jeux de lettres
* /
Jeux de lettres publique ()
{}
static void main (String args []) publics
{
9-String strGuess
GO
9-QuizMaster qm = new QuizMaster ()
GO
9-qm.chooseWord ()
GO
9 - // Ouvrez la console pour l'entrée
9-Console c = System.Console ()
GO
si (c == null) {
System.err.println ("-Pas de console. "-)
GO
System.exit (1)
GO
}
9 - // boucle jusqu'à jeu est terminé
while (! qm.gameOver ()) {
qm.showGameboard ()
GO
System.out.format ("-Vous avez% d tentatives restant. n "-, qm.getRemainingAttempts ()) -
strGuess = c.readLine ("-Entrez votre proposition: "-)
GO
qm.evaluateGuess (strGuess) - 9- 9-
} // Fin boucle principaleif (qm.playerWon ()) {
System.out.format ("-Vous avez gagné! Il vous a fallu% tentatives d. N "-, qm.nGuessesNeeded ())
GO
System.out.format (qm.getWord ())
GO
} // Si le joueur a gagné
else {
System.out.format ("-Vous avez perdu. Le mot était% s n "-, qm.getWord ())
GO
} // Si le joueur a gagné
} // Fin de la principale
}
Enregistrez le fichier avec le nom du fichier "wordGame.java" dans un dossier appelé Jeux de lettres. Veillez à faire correspondre le cas de chaque lettre à celle donnée ici parce que Java est sensible à la casse.
Créez la classe QuizMaster, ce qui représente une QuizMaster qui choisit les mots au hasard, compare la proposition du joueur à la parole et rapports lorsque le joueur a gagnés ou perdus choisi. Entrez le code de programme suivant dans un fichier appelé QuizMaster.java et l'enregistrer dans le dossier Jeux de lettres qui contient le fichier de wordGame.java:
importer java.util. *
GO
QuizMaster public class
{
int finale privée MAX_GUESSES_ALLOWED = 15
GO
GameWords de private string [] = {"-ordinateur "-, "-pur "-, "-exceptionnel "-, "-hélicoptère "-, "-bugle "-}
GO
private String targetWord
GO
private int nTriesLeft
GO
gb de GameBoard privés
GO
QuizMaster publique ()
{
nTriesLeft = MAX_GUESSES_ALLOWED
GO
9-retour
GO
}public void chooseWord ()
{
Aléatoire Obrand = new Random ()
GO
9-int i = obRand.nextInt (GameWords.length);
targetWord = GameWords [i]
GO
9-gb = new GameBoard (targetWord)
GO
}Gameover public boolean () {
// Il ya deux conditions de fin: le joueur gagne ou nTriesLeft va à 0
if (gb.blnMatch ()) return true
GO
if (nTriesLeft == 0) revenir vrai-else return false
GO
}playerWon public boolean () {
retour (gb.blnMatch ())
GO
} // Joueur a gagnégetRemainingAttempts public int () {
retourner nTriesLeft
GO
} // showAttemptspublic String getWord () {
retourner targetWord
GO
} // ShowWordshowGameboard public void () {
gb.showBoard ()
GO
} // ShowGameboardpublic int nGuessesNeeded () {
retourner MAX_GUESSES_ALLOWED - nTriesLeft
GO
} // NGuessesNeededpublic void evaluateGuess (String strGuess) {
nTriesLeft - = 1
GO
gb.uncoverLetters (strGuess)
GO
}
} - // Fin de la classe QuizMaster
Créez la classe qui découvre les lettres dans le mot choisi par le QuizMaster qui correspondent aux lettres saisies par le joueur: dans un fichier appelé gameBoard.java, entrez le texte suivant et l'enregistrer dans le même dossier contenant les autres fichiers de Jeux de lettres:
import java.io. *;
GameBoard public class
{
private String strGameboard
GO
private String strTarget
GO
Chaîne privée lettersTested- // ceux-ci sont toutes les lettres individuelles joueur a essayé de faire correspondre avec/ **
* Constructeur associé aux objets de plateau de jeu de classe
* /
GameBoard publique (String str)
{
strTarget = str
GO
strGameboard = new String (str)
GO
lettersTested = new String ("- "-)
GO
strGameboard = strGameboard.replaceAll (" -. "-, " -_ "-)
GO
retour
GO
}uncoverLetters public void (String str)
{
Chaîne strRE
GO
// Pour suppositions d'un omble de long, de découvrir toutes les lettres qui correspondent à la cible
// Mais régal devine plus de 1 char comme une parole contre parole. Découvrez tous ou pas de lettres
if (str.length () == 1) {
// Concaténer nouvelle lettre avec des lettres déjà testé
lettersTested = lettersTested + str
GO
strRE = " - [^ "- + lettersTested + " -] "-
GO
// Masquer tous les non-caractères correspondant: remplacer toutes les lettres dans la cible qui ne correspondent pas avec le modèle de soulignement
strGameboard = strTarget.replaceAll (strRE, " -_ "-)
GO
}else {
if (str.compareToIgnoreCase (strTarget) == 0) {
9- 9-strGameboard = strTarget- 9- 9-
9-}
}
retour
GO
}blnMatch public boolean () {
9-retour (strTarget == strGameboard)
GO
}showBoard public void () {
9-int i
GO
9-for (i = 0 à i
9- 9-System.out.format ("% C ", StrGameboard.charAt (i))
GO
9-}
9-System.out.println (" N")
GO
}
} // Fin de la classe de GameBoard
Compiler le jeu: ouvrez une invite de commande (Startgt; cmd), et le type PATH =" C: Program Files Java jdk1.6.0_14 ." Ce dossier doit contenir votre compilateur java (de javac.exe). Si elle n'a pas, localiser javac.exe utilisant une recherche de l'Explorateur Windows, puis saisissez son chemin avec le PATH = ... déclaration que vient de donner.
À l'invite de commande, utilisez la "CD" commande pour naviguer vers le dossier qui contient le dossier de Jeux de lettres. Compiler tous les fichiers avec cette déclaration: javac * .java.
Lancez le jeu en tapant "java Jeux de lettres". Jouer le jeu en entrant une lettre à la fois, jusqu'à ce que vous exécutez sur des suppositions ou vous deviner le mot. Si vous saisissez plus d'une lettre à la fois, la classe GameBoard pense que vous essayez de deviner le mot en entier et ne sera pas de découvrir toutes les lettres sauf si vous leur tout le match.
Mémorisez et modifier le jeu pour commencer à créer vos propres jeux. Vous pouvez facilement changer les mots de la QuizMaster choisit de, en remarquant comment le "GameWords = ..." déclaration est structuré. Vous pouvez facilement modifier le nombre de tentatives, le joueur doit deviner le mot de la déclaration contenant la constante MAX_GUESSES_ALLOWED.