elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ayuda con recursividad juego de adivinar animales
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con recursividad juego de adivinar animales  (Leído 2,484 veces)
sheiking

Desconectado Desconectado

Mensajes: 10


Ver Perfil
ayuda con recursividad juego de adivinar animales
« en: 1 Abril 2019, 18:30 pm »

hola que tal estoy haciendo un juego de adivinar animales pero necesito hacerlo recursivo pero no tengo idea de como aplicar la recursion
aquí les comparto el código 

Código
  1. package evidencia;
  2.  
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import java.io.Serializable;
  10.  
  11.  
  12. public class Juego implements Serializable {
  13.  
  14.  
  15.    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
  16.  
  17.        FileInputStream Fi = new FileInputStream("respuestas.txt");
  18.        ObjectInputStream in = new ObjectInputStream(Fi);
  19.        Memoria memory = (Memoria)in.readObject();
  20.        memory.iniciar("vaca");
  21.  
  22.        FileOutputStream out = new FileOutputStream("respuestas.txt");
  23.        ObjectOutputStream os = new ObjectOutputStream(out);
  24.        os.writeObject(memory);
  25.  
  26.  
  27.    }
  28.  
  29. }
  30.  

Código
  1. package evidencia;
  2.  
  3. import java.io.Serializable;
  4.  
  5.  
  6. public class Arbol<E> implements Serializable {
  7.    public Arbol izquierda;
  8.    public Arbol derecha;
  9.    public E carga;
  10.  
  11.    public Arbol() {
  12.    }
  13.  
  14.  
  15.    public Arbol(Arbol izquierda,Arbol derecha, E carga){
  16.        this.izquierda = izquierda;
  17.        this.derecha = derecha;
  18.        this.carga = carga;
  19.    }
  20.    public Arbol(E cargar){
  21.        this.izquierda = null;
  22.        this.derecha = null;
  23.        this.carga = cargar;
  24.    }
  25.    @Override
  26.    public String toString(){
  27.        return carga.toString();
  28.    }
  29. }
  30.  
  31.  

Código
  1. package evidencia;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.Serializable;
  7.  
  8.  
  9.  
  10. public class Memoria implements Serializable {
  11.    private Arbol raiz;
  12.    static BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
  13.  
  14.    public boolean si(String pregunta) throws IOException{
  15.        System.out.println(pregunta);
  16.  
  17.        String respuesta = sc.readLine();
  18.  
  19.        return "si".equals(respuesta.toLowerCase());
  20.    }
  21.  
  22.    public void iniciar(String firstAnimal) throws IOException{
  23.        boolean bucle = true;
  24.        if(raiz == null){
  25.        raiz = new Arbol(firstAnimal);
  26.        }
  27.        while(bucle){
  28.            if (!si("¿Estas pensando en un Animal?")) {
  29.                break;
  30.            }
  31.            Arbol arbol = raiz;
  32.            while(arbol.izquierda !=null){
  33.                if (si(arbol.carga+"?")) {
  34.                    arbol = arbol.izquierda;
  35.                }else{
  36.                    arbol = arbol.derecha;
  37.                }
  38.            }
  39.            String animal = (String) arbol.carga;
  40.            if (si("Es un "+animal+"?")) {
  41.                System.out.println("Adivine!!");
  42.                continue;
  43.            }
  44.            if(arbol.derecha == null){
  45.            System.out.println("¿Que animal era?");
  46.            String nuevo = sc.readLine();
  47.            System.out.println("que diferencia a un(a) " +animal+ " de un "+nuevo+"?");
  48.            String info = sc.readLine();
  49.            String indicador = "Si el animal fuera un(a) "+animal+" cual seria la respuesta";
  50.            arbol.carga = info;
  51.  
  52.            if (si(indicador)) {
  53.                arbol.izquierda = new Arbol(animal);
  54.                arbol.derecha = new Arbol(nuevo);
  55.            }else{
  56.                arbol.derecha = new Arbol(animal);
  57.                arbol.izquierda = new Arbol(nuevo);
  58.            }
  59.            }else{
  60.                System.out.println(arbol.derecha);
  61.            }
  62.        }
  63.    }
  64. }
  65.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines