( ); static int palpites = 0; estática Cordas secretword ;
public static int main ( string [] args ) { secretword = askForWord (); enquanto ( playingGame ) { printBodyAndTriedLetters (); printWordSoFar (); getLetter (); if ( gameStatus () == 1) {System.out.println (" Você venceu! "); return 0; } else if ( gameStatus () == -1) {System.out.println (" Você perde palavra Segredo foi : " + secretword ) ; retornar 0 ;} System.out.println (); System.out.println (); System.out.println ( );}} }
Este estabelece a estrutura do jogo e dá-lhe cinco funções que precisa escrever para completar o jogo : . askForWord () , printBodyAndTriedLetters () , printWordSoFar () , getLetter () e gameStatus ()
2
Escreva a função askForWord . Esta função será bastante simples. Use a classe BufferedReader que vem com o Java para obter uma palavra secreta do console, e , em seguida, imprimir cerca de cem linhas para esconder a palavra .
Público askForWord static String () { BufferedReader in = new BufferedReader (new InputStreamReader ( System.in ) ); System.out.print ("Qual é a palavra secreta :"); Cordas palavra = in.readLine () toLowerCase (); for (int x = 0; x < 100; x + +. ) { System.out.println (); } return (palavra) ;} ( ver Referências 1)
3
Escreva os printBodyAndTriedLetters () função. Para isso, você está indo para imprimir as partes do corpo enforcado com base no número de palpites o jogador tem tido até agora, e imprimir todas as cartas que ela tentou .
PrintBodyAndTriedLetters public static void () { //Se zero de suposições , nenhum destes será avaliada como true //Se dois , tanto o primeiro eo segundo irá avaliar como true.if ( palpites > = 1) System.out.print ( "Cabeça" ); . se ( suposições > = 2) System.out.println ( "corpo" ), se ( palpites > = 3) System.out.println ( "LEFT ARM "); if ( palpites > = 4) System.out . print (" BRAÇO DIREITO "); if ( palpites > = 5) System.out.print ( " PERNA ESQUERDA " ) ; if ( palpites > = 6) System.out.println ( " PERNA DIREITA "); < br >
//Você quer que as letras impressas em order.Collections.sort alfabética ( triedLetters ), para (String letra: triedLetters ) { System.out.println ( letra + "") ;} System.out.println () ;}
4
Escrever printWordSoFar (). Você quer comparar cada letra da palavra com as letras e tentou imprimir as cartas que correspondem . Se nenhuma correspondência for encontrada, você deseja imprimir um sublinhado ( "_")
public static void printWordSoFar () {for . (Int x = 0; x < secretWord.length (); x + +) { carta string = secretWord.substring ( x); boolean found = false; por (String t: triedLetters ) { if ( letter.startsWith (t )) { System.out.println (t); encontrado = true; }} if ( ! encontrado) System.out.print ("_" );}}
5
Escrever getLetter (). Este é realmente mais simples do que parece. A carta será testado pelo gameStatus , então tudo que você precisa fazer aqui é reutilizar o código a partir do Passo 2 para recuperar uma carta do usuário.
6
Escrever gameStatus (). Para fazer isso, reutilizar o código em printWordSoFar () para testar se uma carta existe. Só é preciso mudá-lo de uma forma pequena : para testar se o circuito foi bem sucedido em cada iteração . A seguir irá funcionar:
public static void gameStatus () { boolean resolvido = true; for (int x = 0; x < secretWord.length (); x + +) {String letra = secretWord.substring (x ); boolean found = false; para ! (String t: triedLetters ) {if ( letter.startsWith (t )) { encontrou = true; }} if ( encontrado) resolvido = false; } //Se resolvido, retornar 1 /. /Se não for resolvido, e ao longo do jogo , retornar -1 //Se nenhuma das opções , 0.if retorno acima ( resolvido ) return 1; . else if return -1 ( resolvido && adivinha > = 6! ); else return 0; }