Hvordan laver Java Spil

December 7

Java-spil er computerspil skrevet i computeren programmeringssprog \ "Java. \" Java-spil kan være så komplekse som straffesparkskonkurrencen'em-up tredimensionelle spil skrevet på andre sprog, eller så simpelt som en traditionel puslespil eller ord puslespil. Uanset hvilken type af spil, de i sidste ende ønsker at skabe, kan spil-programmører begynde at lære Java spil programmering ved at kopiere eksisterende, simple programmer som følgende ordspil.

Instruktioner

1 Hent og installer Java Development Kit (JDK) fra java.sun.com. Begynd at oprette wordGame programmet ved at åbne Notesblok og indtaste følgende kode til spillets vigtigste klasse:

import java.io. *

public class wordGame
{

/**
* Constructor for objects of class wordGame
*/
public wordGame()
{

}
public static void vigtigste (String args [])
{

String strGuess

Quizmaster qm = ny quizmaster ()

qm.chooseWord()


// Åben konsol for input
Konsol c = System.console ()

if (c == null) {
System.err.println(\"No console.\")

System.exit(1)

}

// Loop indtil spillet er slut

while (!qm.gameOver()) {
qm.showGameboard()

System.out.format(\"You have %d attempts remaining.\\n\", qm.getRemainingAttempts() );
strGuess = c.readLine(\"Enter your guess: \")

qm.evaluateGuess(strGuess);
}// end main loop

if (qm.playerWon ()) {
System.out.format (\ & quot;!. Du Vandt Det tog du% d forsøg \\ n \ & quot ;, qm.nGuessesNeeded ())

System.out.format( qm.getWord())

}// if player won
else {
System.out.format(\"You lost. The word was %s\\n\", qm.getWord())

}// if player won
}//end of main

}

Gem filen med filnavnet \ "wordGame.java \" i en mappe kaldet WordGame. Sørg for at matche for hvert enkelt brev til, at i betragtning her, fordi Java er store og små bogstaver.

2 Opret quizmester klasse, som repræsenterer en quizmaster der vælger ord tilfældigt, sammenligner spillerens gæt til den valgte ord og rapporter, når spilleren har vundet eller tabt. Indtast følgende program kode i en fil kaldet QuizMaster.java og gemme det i WordGame mappe, der indeholder wordGame.java fil:

importere java.util. *

public class quizmaster
{

private final int MAX_GUESSES_ALLOWED = 15

private String GameWords[]= {\"computer\", \"thoroughbred\", \"exceptional\", \"helicopter\", \"flugelhorn\" }

private String targetWord

private int nTriesLeft

private gameBoard gb

public QuizMaster()
{
nTriesLeft = MAX_GUESSES_ALLOWED


afkast

}

public void chooseWord ()
{
Random obRand = ny Random ()


int i = obRand.nextInt (GameWords.length);

targetWord = GameWords[i]


gb = ny gameboard (targetWord)

}

offentlig boolean GAMEOVER () {
// Der er to slutbetingelserne: spilleren vinder eller nTriesLeft går til 0
if (gb.blnMatch ()) returnerer sand

if (nTriesLeft ==0) return true; else return false

}

offentlig boolean playerWon () {
afkast (gb.blnMatch ())

}//player won

offentlige int getRemainingAttempts () {
returnere nTriesLeft

}//showAttempts

public String getWord () {
returnere targetWord

}//showWord

public void showGameboard () {
gb.showBoard ()

}//showGameboard

offentlig int nGuessesNeeded () {
returnere MAX_GUESSES_ALLOWED - nTriesLeft

}//nGuessesNeeded

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

gb.uncoverLetters(strGuess)

}

}; // Slutningen af ​​quizmaster klasse

3 Opret den klasse, der afdækker bogstaverne i valgt af quizmaster der matcher de angivne bogstaver af spilleren ord: i en fil kaldet gameBoard.java, indtaste følgende tekst og gemme den i samme mappe, der indeholder de andre wordGame filer:

import java.io. *;

public class gameboard
{

private String strGameboard

private String strTarget

private String lettersTested; // these are all the individual letters player has tried to match with

/ **
* Constructor for objekter af klassen gameboard
* /
offentlig gameboard (String str)
{
strTarget = str

strGameboard = new String(str)

lettersTested = new String(\"\")

strGameboard = strGameboard.replaceAll(\".\", \"_\")

return

}

public void uncoverLetters (String str)
{
String strRE

//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

strRE = \"[^\" + lettersTested + \"]\"

// hide all non-matching chars: replace all letters in target that do NOT match pattern with the underscore
strGameboard = strTarget.replaceAll(strRE, \"_\")

}

else {
if (str.compareToIgnoreCase (strTarget) == 0) {

strGameboard = strTarget;
}

}
return

}

offentlig boolean blnMatch () {

tilbage (strTarget == strGameboard)

}

public void showBoard () {

int i

for (i = 0; i <strTarget.length (); i ++) {
System.out.format (\ "% c \", strGameboard.charAt (i))

}
System.out.println (\ "\ n \")

}

} // Slutningen af ​​gameboard klasse

4 Compile spillet: åbne en kommandoprompt (Start> cmd), og typen PATH = \ "C:. \ Programmer \ Java \ jdk1.6.0_14 \ \" Denne mappe bør indeholde din java compiler (javac.exe). Hvis det ikke, skal du finde javac.exe bruger en Windows Stifinder søgning, og indtast derefter sin vej med PATH = ... erklæring netop givet.

Ved kommandoprompten, skal du bruge kommandoen \ "cd \" for at navigere til den mappe, der indeholder wordGame mappen. Compile alle filer med denne udtalelse: javac * .java.

5 Kør spillet ved at skrive \ "java wordGame \". Spil spillet ved at indtaste et bogstav ad gangen, indtil du løber tør for gæt, eller du gætte ordet. Hvis du indtaster mere end ét bogstav ad gangen, spillebrættet klasse tror du forsøger at gætte hele ordet og vil ikke afsløre nogen bogstaver, medmindre du matche dem alle.

6 Huske og ændre spillet til at begynde at oprette dine egne spil. Du kan nemt ændre ordene quizmester vælger fra, ved at lægge mærke hvordan \ "GameWords = ... \" erklæring er struktureret. Du kan nemt ændre antallet af prøver spilleren har at gætte ordet med angivelse som indeholder de MAX_GUESSES_ALLOWED konstant.


relaterede artikler