Comment faire des jeux Java

Jeux Java sont des jeux informatiques écrits dans le langage de programmation informatique "Java." jeux Java peuvent être aussi complexes que la trois dimensions jeux écrits dans d'autres langues, ou aussi simple que d'une scie sauteuse ou un mot traditionnel puzzle de shoot-'em-up. Quel que soit le type de jeux qu'ils veulent finalement à créer, les programmeurs de jeux peuvent commencer à apprendre la programmation Java de jeu en copiant, des programmes simples existants, tels que le jeu de mot suivant.

Choses que vous devez

  • Le kit de développement Java (JDK) de java.sun.com

Instructions

  1. 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 principale

    if (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.

  2. 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

    } // showAttempts

    public String getWord () {
    retourner targetWord

    GO

    } // ShowWord

    showGameboard public void () {
    gb.showBoard ()

    GO

    } // ShowGameboard

    public int nGuessesNeeded () {
    retourner MAX_GUESSES_ALLOWED - nTriesLeft

    GO

    } // NGuessesNeeded

    public void evaluateGuess (String strGuess) {
    nTriesLeft - = 1

    GO

    gb.uncoverLetters (strGuess)

    GO

    }

    } - // Fin de la classe QuizMaster

  3. 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

  4. 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.

  5. 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.

  6. 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.

» » » » Comment faire des jeux Java