ArrayList (); conjeturas static int = 0 ; estática cadena secretword ;
int main ( string [] args ) { public static secretword = askForWord () , mientras que ( playingGame ) { printBodyAndTriedLetters (); printWordSoFar () ; getLetter (); if ( gameStatus () == 1 ) { System.out.println ( " Usted gana ! "); return 0; } else if ( gameStatus () == -1 ) { System.out.println ( "Se pierde secreto palabra fue: " + secretword ) ; return 0 ;} System.out.println (); System.out.println (); System.out.println () ;} } }
establece la estructura del juego y le ofrece cinco funciones que necesidad de escribir para completar el juego : . askForWord (), printBodyAndTriedLetters (), printWordSoFar (), getLetter () y gameStatus ()
2
escribir la función askForWord . Esta función será muy simple. Utilice la clase BufferedReader que viene con Java para obtener una palabra secreta de la consola y , a continuación, imprimir un centenar de líneas de ocultar la palabra.
Pública askForWord static String () { BufferedReader en = new BufferedReader ( nuevo InputStreamReader ( System.in )); System.out.print ( " ¿Cuál es la palabra secreta :") ; palabra String = in.readLine () toLowerCase (); for (int x = 0 ; x < 100 ; x + + . ) { System.out.println (); } return (palabra) ;} ( ver Referencias 1 )
3
Escribe los printBodyAndTriedLetters () función. Para ello, se va a imprimir las partes del cuerpo colgado en función del número de intentos que el jugador ha tenido hasta ahora , e imprimir todas las cartas que ha intentado.
Públicos printBodyAndTriedLetters static void () { . //Si cero conjeturas , ninguna de ellas se evaluará como verdadero //Si dos, entonces la primera y segunda se evaluará como true.if ( conjeturas > = 1 ) System.out.print ( " cabeza") , si ( conjeturas > = 2 ) System.out.print ( "cuerpo "); if ( conjeturas > = 3 ) System.out.print ( "ARM IZQUIERDA "); if ( conjeturas > = 4 ) System.out . print (" RIGHT ARM "); if ( conjeturas > = 5 ) System.out.print ( " PIERNA IZQUIERDA " ), si adivina ( > = 6 ) System.out.print ( " PIERNA DERECHA" ) ; < br >
//Usted quiere que las letras impresas en orden alfabético order.Collections.sort ( triedLetters ) , porque (carta de encordado: triedLetters ) { System.out.print ( letra + "") ;} System.out.println () ;}
4
printWordSoFar Write (). ¿Quieres comparar cada letra de la palabra con las letras probado e imprimir las cartas que coincidan . Si no se encuentra ninguna coincidencia, se desea imprimir un guión bajo ( "_")
public static void printWordSoFar () {for (int x = 0 ; x < secretWord.length ( ) x + +) . { carta string = secretWord.substring ( x); booleano encontrado = false; para (String t : triedLetters ) { if ( letter.startsWith (t )) { System.out.print (t ) , encontrado = true ;} } if ( ¿Has encontrado ) System.out.print ("_ ") ;} }
5
getLetter Write (). Esto es en realidad más simple de lo que parece . La carta será puesta a prueba por gameStatus , así que todo lo que hay que hacer aquí es reutilizar el código de la Etapa 2 para recuperar una carta del usuario.
6
gameStatus Write (). Para hacer esto , reutilizar el código en printWordSoFar ( ) para probar si existe una carta . Sólo tiene que cambiar en una forma pequeña : para comprobar si el bucle ha tenido éxito en cada iteración. La siguiente funcionará:
public static void gameStatus () { booleano resuelto = true; for (int x = 0 ; x < secretWord.length ( ) x + +) {letter String = secretWord.substring (x ) ; booleano encontrado = false; para ! (String t : triedLetters ) { if ( letter.startsWith (t )) { encontrado = true ;} } if ( encontrado) resolvió = false ;} //Si resuelto , vuelva 1 /. /Si no se resuelve y el juego terminado, devuelve -1 //Si nada de lo anterior , el retorno 0.if (resuelto ) return 1 ; . else if return ( ! resueltos && conjeturas > = 6 ) -1 , el retorno más 0 ; }