Weblogs Código

RecorteX

» hanoi
73 usuarios y 244 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta hanoi

RSS
Recortes: 1

Etiquetas relacionadas:
consola
java
juego
torres

Torres de Hanoi

Pequeño algoritmo que resuelve el juego de las Torres de Hanoi con N discos. No tiene interfaz gráfica, todo lo hace desde la consola.

 
package hanoi;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/**
 *
 * @author tauron
 */
public class Hanoi {
 
	public enum palo {izquierdo,central,derecho};
 
	public static void Mover(int n,palo origen, palo auxiliar,palo destino) {
		if(n == 1) {
			System.out.println("Mueve el disco " + n + " desde el palo " + origen + " al " + destino);
		}
		else {
			Mover(n-1,origen,destino,auxiliar);
			System.out.println("Mueve el disco " + n + " desde el palo " + origen + " al " + destino);
			Mover(n-1,auxiliar,origen,destino);
		}
	}
 
    public static void main(String[] args) {
		BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in));
 
		int numDiscos;
		String discos = "";
 
		System.out.print("Introduce el número de discos: ");
 
		try{
			discos = dataIn.readLine();
		}catch(IOException e){
			System.out.println("¡Error!");
		}
 
		numDiscos = Integer.valueOf(discos);
		while (numDiscos < 1) {
			System.out.println("Vaya chorrada de número has metido. ERROR.");
			System.out.print("Inserta el número de discos: ");
 
			try{
				discos = dataIn.readLine();
			}catch(IOException e){
				System.out.println("¡Error!");
			}
 
			numDiscos = Integer.valueOf(discos);
			
		} // Fin del while
 
		Mover(numDiscos,palo.izquierdo,palo.central,palo.derecho);
    }
 
}
 
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin