(); statiske int gjetninger = 0 ; statisk String secretWord ;
public static int main ( String [] args ) { secretWord = askForWord ( ) , mens ( playingGame ) { printBodyAndTriedLetters (); printWordSoFar ( ) ; getLetter (); if ( gameStatus ( ) == 1 ) { System.out.println (" Du vinner ! "); return 0 ;} else if ( gameStatus ( ) == -1 ) { System.out.println ("Du mister Secret ord var: " + secretWord ) ; return 0 ;} System.out.println (); System.out.println (); System.out.println (); } } }
p Dette legger ut spillets struktur og gir deg fem funksjoner du trenger å skrive for å fullføre spillet : . askForWord ( ) , printBodyAndTriedLetters ( ) , printWordSoFar ( ) , getLetter () og gameStatus ( )
2
Skriv askForWord funksjon . Denne funksjonen vil være ganske enkel. Bruk BufferedReader klasse som følger med Java å få et hemmelig ord fra konsollen , og deretter skrive ut et hundretalls linjer for å skjule ordet .
Public static String askForWord ( ) { BufferedReader i = new BufferedReader ( ny InputStreamReader ( System.in )); System.out.print (" Hva er hemmeligheten ord : "); String ord = in.readLine ( ) toLowerCase (); for ( int x = 0 ; x < 100; x + + . ) { System.out.println (); } return ( ord ) ;} ( se referanser 1 )
3
Skriv de printBodyAndTriedLetters ( )-funksjonen . For dette , du kommer til å skrive ut de hengt kroppsdeler basert på antall gjetninger spilleren har hatt så langt , og skrive ut alle brevene hun har prøvd.
Public static void printBodyAndTriedLetters () { . //Hvis null gjetninger , vil ingen av disse evalueres som sant //Hvis to, så både den første og andre vil vurdere som true.if ( gjetninger > = 1 ) System.out.print ( "hodet" ), hvis ( gjetninger > = 2 ) System.out.print (" BODY "); if ( gjetninger > = 3 ) System.out.print (" VENSTRE ARM "); if ( gjetninger > = 4 ) System.out . print ( " HØYRE ARM "); if ( gjetninger > = 5 ) System.out.print (" VENSTRE BEN " ), hvis ( gjetninger > = 6 ) System.out.print (" HØYRE BEN ");
//Du vil bokstavene skrives i alfabetisk order.Collections.sort ( triedLetters ); for (String brev : triedLetters ) { System.out.print ( bokstav + "") ;} System.out.println ( ) ;}
4
Skriv printWordSoFar ( ) . Du ønsker å sammenligne hver bokstav i ordet med den prøvd bokstaver og skrive disse bokstavene som passer . Hvis det ikke blir funnet samsvar , du ønsker å skrive ut en understrek ( "_ ")
public static void printWordSoFar ( ) { for ( int x = 0 ; x < secretWord.length (); x + + ) . { String brev = secretWord.substring ( x ) ; boolean funnet = false; for (String t : triedLetters ) { if ( letter.startsWith (t ) ) { System.out.print ( t ) ; funnet = true; } } if ( ! found ) System.out.print ( "_ "); } }
5
Skriv getLetter ( ) . Dette er faktisk enklere enn det ser ut . Brevet vil bli testet av gameStatus , så alt du trenger å gjøre her er å gjenbruke kode fra trinn 2 for å hente et brev fra brukeren.
6
Skriv gameStatus ( ) . For å gjøre dette , gjenbruke koden i printWordSoFar ( ) for å teste om et brev eksisterer. Trenger du bare å endre det i en liten måte : å teste om sløyfen har vært vellykket på alle iterasjon. Følgende vil fungere : en
public static void gameStatus ( ) { boolean løst = true; for ( int x = 0 ; x < secretWord.length (); x + + ) { String brev = secretWord.substring ( x ) ; boolean funnet = false; for! (String t : triedLetters ) { if ( letter.startsWith (t ) ) { funnet = true; } } if ( funnet ) løst = false; } //Hvis løst , tilbake 1 /. /Hvis ikke løst og game over, returnerer -1 //Hvis ingen av de ovennevnte , retur 0.if ( løst ) return 1; . else if ( ! løst && gjetninger > = 6 ) return -1 ; else return 0 ; }