Java Hanoi Exepxiones Unidad 4
Enviado por camilo1508 • 23 de Agosto de 2012 • 866 Palabras (4 Páginas) • 705 Visitas
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Unidad4;
/**
*
* @author Beatriz
*/
import java.awt.*;
/**
* Solución gráfica para el problema de las Torres de Hanoi El juego acepta
* entre 1 y 10 discos
*
* @author Maestros computación II
* @version Primavera 2003
*/
public class Hanoi {
private int n;
private Poste izq, cen, der;
/**
* Constructor
*
* @param n número de discos en la torre inicial
*/
public Hanoi(int n) {
this.n = n;
izq = new Poste(n, 80);
cen = new Poste(0, 250);
der = new Poste(0, 420);
}
//-------------------------------------------------------------
// INTERFAZ
/**
* Resolver el problema Pre: hay discos en poste izquierdo
*
* @param g el espacio grafico
*/
public void resuelve(Graphics g) {
solucion(n, izq, cen, der, g);
}
/**
* Dibujar el tablero de juego
*
* @param g el espacio gráfico
*/
public void dibuja(Graphics g) {
izq.dibuja(g);
cen.dibuja(g);
der.dibuja(g);
}
/**
* Regresa los discos al estado inicial
*/
public void reinicia() {
izq.ponDiscos(n);
der.ponDiscos(0);
cen.ponDiscos(0);
}
//-------------------------------------------------------------
// Logica
/**
* Algoritmo para resolver el problema de las torres de Hanoi
*
* @param n numero de discos a mover
* @param f poste fuente
* @param d poste destino
* @param a poste auxiliar
* @param g ambiente grafico
*/
public void solucion(int n, Poste f, Poste a, Poste d,
Graphics g) {
// public static void algoritmoHanoi(int n, int origen, int temporal, int destino) {
if (n == 0) {
return;
}
solucion(n - 1, f, d, a, g);
mover(f, d, g);
solucion(n - 1, a, f, d, g);
//aquí va el código para resolver el problema
}
/**
* Pasar un disco del poste
...