Tecnología

Inicio

Cómo crear un juego del ahorcado con Java

Todo el mundo recuerda el juego de palabras adivinar ahorcado como un niño. Un jugador escoge en secreto una palabra. El otro jugador tiene que adivinar las letras que pueden estar en la palabra. Si está en lo cierto, se añaden las letras. Si se equivoca, otra parte del cuerpo para que el verdugo se dibuja en. Este tutorial te enseñará cómo crear un simple juego del ahorcado que puede ser jugado por dos personas que utilizan el lenguaje de programación Java.

Instrucciones

1 Construir el bucle principal del juego. Crear una clase llamada principal, y escribir la siguiente función principal.

Clase principal {
playingGame static boolean = true
IR
estática ArrayList <String> triedLetters = new ArrayList <String> (); conjeturas static int = 0
IR
Cuerda estática secretword
IR

principales argumentos (String []) {int public static
secretword = askForWord ()
IR
while (playingGame) {
printBodyAndTriedLetters ()
IR
printWordSoFar ()
IR
getLetter ()
IR
si (gameStatus () == 1) {
System.out.println ( "Usted gana!")
IR
devolver 0
IR
} Else if (gameStatus () == -1) {
System.out.println ( "! Usted pierde Secreto palabra fue:" + secretword)
IR
devolver 0
IR
}
System.out.println ()
IR
System.out.println ()
IR
System.out.println ()
IR
}
}
}

Esto establece la estructura del juego y le ofrece cinco funciones que necesita para escribir para completar el juego: askForWord (), printBodyAndTriedLetters (), printWordSoFar (), getLetter () y gameStatus ().

2 Escribe la función askForWord. Esta función será bastante simple. Utilice la clase BufferedReader que viene con Java para obtener una palabra secreta de la consola, y luego imprimir un centenar de líneas para ocultar la palabra.

Public static String askForWord () {
BufferedReader en = new BufferedReader (nueva InputStreamReader (System.in))
IR
System.out.print ( "¿Cuál es la palabra secreta:")
IR
una serie de palabras = in.readLine (). toLowerCase ()
IR
for (int x = 0; x <100; x ++) {
System.out.println ()
IR
}
retorno (palabra)
IR
}
(Ver Referencias 1)

3 Escribe los printBodyAndTriedLetters) función (. Para esto, se va a imprimir las partes del cuerpo colgados en función del número de intentos que el jugador ha tenido hasta ahora, e imprimir todas las cartas que ha probado.

printBodyAndTriedLetters public static void () {
// Si cero conjeturas, ninguna de ellas se evaluará como true.
// Si dos, a continuación, tanto la primera como la segunda se evaluará como true.

si (conjeturas> = 1) System.out.print ( "cabeza")
IR
si (conjeturas> = 2) System.out.print ( "cuerpo")
IR
si (conjeturas> = 3) System.out.print ( "BRAZO IZQUIERDO")
IR
si (adivina> = 4) System.out.print ( "BRAZO DERECHO")
IR
si (conjeturas> = 5) System.out.print ( "PATA IZQUIERDA")
IR
si (conjeturas> = 6) System.out.print ( "PIERNA DERECHA")
IR

// ¿Quieres las letras impresas en orden alfabético.
Collections.sort (triedLetters)
IR
para (String letra: triedLetters) {
System.out.print (letra + "")
IR
}
System.out.println ()
IR
}

4 Escribe printWordSoFar (). Desea comparar cada letra de la palabra con las letras intentado e imprimir las cartas que coincidan. Si no se encuentra ninguna coincidencia, que desea imprimir un guión bajo ( "_").

pública printWordSoFar static void () {
for (int x = 0; x <secretWord.length (); x ++) {
carta String = secretWord.substring (x)
IR
booleano encontrado = false
IR
para (String t: triedLetters) {
si (letter.startsWith (t)) {
System.out.print (t)
IR
encontrado = true
IR
}
}
if (! encontrado) se System.out.print ( "_")
IR
}
}

5 Escribe getLetter (). Esto es en realidad más simple de lo que parece. La carta será puesta a prueba por gameStatus, por lo que todo lo que necesita hacer es volver a utilizar el código de la Etapa 2 para recuperar una carta por parte del usuario.

6 Escribe gameStatus (). Para ello, reutilizar el código en printWordSoFar () para comprobar si existe o no una carta. Sólo tiene que cambiar en una forma pequeña: para probar si el bucle ha tenido éxito en cada iteración. El siguiente trabajo:

pública gameStatus static void () {
booleano resuelto = true
IR
for (int x = 0; x <secretWord.length (); x ++) {
carta String = secretWord.substring (x)
IR
booleano encontrado = false
IR
para (String t: triedLetters) {
si (letter.startsWith (t)) {
encontrado = true
IR
}
}
if (! encontrado) resuelto = false
IR
}
// Si resuelto, devuelve 1.
// Si no es resuelto y más de juego, devuelve -1.
// Si ninguna de las anteriores, devuelve 0.
si (resueltos) devuelve 1
IR
else if (! resuelto && adivina> = 6) devuelve -1
IR
else return 0
IR
}