Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur man skapar ett Hangman spel med Java

    Alla minns spela word - gissningslek Hangman som barn . En spelare väljer i hemlighet ett ord . Den andra spelaren har att gissa bokstäver som kan vara i word . Om hon är rätt , är bokstäverna tillsätts . Om hon är fel , är en annan kroppsdel ​​för bödeln dras i. Denna handledning kommer att lära dig hur du skapar en enkel Hangman spel som kan spelas av två personer som använder programmeringsspråket Java . Saker du behöver
    Computer Review, Java Runtime Environment Review, Java Development Kit
    textredigerare eller Java IDE
    Visa fler instruktioner
    1

    Bygg huvudspelet slinga. Skapa en klass som kallas Main, och skriv följande huvudsakliga funktion

    class Huvud { static boolean playingGame = true; . Statiska ArrayList triedLetters = new ArrayList ( ) , static int gissningar = 0 ; statisk String secretWord ;

    public static int main ( String [] args ) { secretWord = askForWord ( ) , medan ( playingGame ) { printBodyAndTriedLetters (); printWordSoFar ( ) , getLetter ( ) , om ( gameStatus ( ) == 1 ) { System.out.println ( " Du vinner ! " ) , avkastning 0; } else if ( gameStatus ( ) == -1 ) { System.out.println ( " Du förlorar Secret ord var : " + secretWord ) , avkastning 0; } System.out.println ( ) , System.out.println ( ) , System.out.println ( ) ;} } }

    Detta lägger ut spelets struktur och ger dig fem funktioner du behöva skriva att slutföra spelet : . askForWord ( ) , printBodyAndTriedLetters ( ) , printWordSoFar ( ) , getLetter ( ) och gameStatus ( )
    2

    Skriv askForWord funktionen . Denna funktion kommer att vara ganska enkel . Använd BufferedReader klassen som kommer med Java för att få ett hemligt ord från konsolen , och sedan skriva ut ett hundratal linjer för att dölja ordet .

    Public static String askForWord ( ) { BufferedReader i = new BufferedReader ( nytt InputStreamReader ( System.in ) ) , System.out.println ( " Vad är det hemliga ordet : " ) ; String word = in.readLine ( ) toLowerCase ( ) , för ( int x = 0 , x < 100 , x + + . ) { System.out.println ( ) ;} retur ( word ) ;} ( se Referenser 1 ) Addera 3

    Skriv de printBodyAndTriedLetters ( ) funktionen . För detta kommer du att skriva ut de hängda kroppsdelar utifrån antalet gissningar spelaren har haft hittills , och skriva ut alla bokstäver hon har försökt .

    Public static void printBodyAndTriedLetters () { . //Om noll gissningar , kommer ingen av dessa utvärderas som true //Om två , då både den första och den andra kommer att utvärdera som true.if ( gissningar > = 1 ) System.out.println ( " huvud" ) , om ( gissningar > = 2 ) System.out.println ( "kropp" ), om ( gissningar > = 3 ) System.out.print ( " vänster arm " ), om ( gissningar > = 4 ) System.out . print ( " höger arm " ) , om ( gissningar > = 5 ) System.out.println ( " VÄNSTER BEN " ) , om ( gissningar > = 6) System.out.println ( " HÖGER BEN " ) ;

    //Du vill de bokstäver i alfabetisk order.Collections.sort ( triedLetters ) , för ( String bokstav : triedLetters ) { System.out.println ( bokstav + " " ) ; } System.out.println ( ) ; }
    4

    Skriv printWordSoFar ( ) . Du vill jämföra varje bokstav i ordet med de beprövade bokstäverna och skriva ut dessa bokstäver som matchar . Om ingen matchning hittas , vill du skriva ut ett understreck ( " _ " ) katalog

    public static void printWordSoFar ( ) {for ( int x = 0 , x < secretWord.length ( ) ; x + + ) . { String bokstav = secretWord.substring (x) ; boolean found = false; för (String t : triedLetters ) { if ( letter.startsWith (t)) { System.out.print (t) , funnet = true; }} if ( ! hittade) System.out.println ( " _ " ) ;} }
    5

    Skriv getLetter ( ) . Det är faktiskt enklare än det verkar . Brevet kommer att testas av gameStatus , så allt du behöver göra här är återanvända koden från steg 2 för att hämta ett brev från användaren .
    6

    Skriv gameStatus ( ) . För att göra detta , återanvända koden i printWordSoFar ( ) för att testa om en skrivelse föreligger . Bara du behöver ändra det på något litet sätt : att testa om slingan har varit framgångsrik i varje iteration . Följande kommer att fungera :

    public static void gameStatus ( ) { boolean löst = true; for (int x = 0 , x < secretWord.length ( ) ; x + + ) { String brev = secretWord.substring ( x ) ; boolean hittade = false; för ! ( String t : triedLetters ) {if ( letter.startsWith ( t ) ) { hittat = true; } } if (found ) löst = false; } //Om löst , tillbaka 1 /. /Om inte löst och game over , returnera -1 //Om inget av ovanstående , retur 0.if ( löst ) avkastning 1; . else if ( ! lösta && gissningar > = 6 ) avkastning -1 , annars avkastning 0 ; } Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Nackdelarna med Java Applets
    ·Hur man kör en Java applet från HTML
    ·De steg för att omvandla ett GUI Into en applet
    ·Hur man skapar loggfiler i Java på Unix
    ·Varför är Java Anteckningar ignoreras i Code
    ·Hur man använder Xerces i Eclipse
    ·Hur du uppdaterar JavaScript
    ·Konvertera ett buffrat Input Stream till ett String
    ·Hur man skapar Java Spel
    ·Java Chat Server Tutorial
    Utvalda artiklarna
    ·Hur man sätter in en tre - dimensionell array med Java…
    ·Lägga Utrymme runt en bild med HTML -programmering
    ·Flera mål i NetBeans Projekt
    ·Hur man skriver text på en bild i VB.NET
    ·Hur du använder Adobe Acrobat PDF-filer i en Delphi Ap…
    ·Hur initiera 2D Array i två rapporter
    ·Hur man använder en konsekvent Trace System för Enkla…
    ·Hur Ignorera skiljetecken i Java
    ·Introduktion till Singulärvärdesuppdelning
    ·Hur Överför data till MySQL Server
    Copyright © Dator Kunskap http://www.dator.xyz