torresDeHanoi
Class Tablero

java.lang.Object
  extended by torresDeHanoi.Tablero

public class Tablero
extends java.lang.Object


Field Summary
private  int numDiscos
           
private  Torre[] tablaTorres
           
 
Constructor Summary
Tablero(int numDiscos)
          El constructor inicializa el tablero con N discos.
 
Method Summary
 int getNumMovimientos()
          Indica el numero de movimientos necesarios para N Discos.
private  void hanoiRecursivo(int disc, int numDisGrande, int o, int a, int d)
          Mediante recursividad, se realizan los N movimientos trasladando los Discos de una Torre a otra.
private  void imprimirTablero(int numDisGrande)
          Imprime el Tablero por pantalla mediante el terminal de texto.
 void mostrarLosMovimientos()
          Muestra los movimientos
-- Primero imprime el tablero
-- Despues llama a hanoiRecursivo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

numDiscos

private int numDiscos

tablaTorres

private Torre[] tablaTorres
Constructor Detail

Tablero

public Tablero(int numDiscos)

El constructor inicializa el tablero con N discos. Si el numero de discos es negativo o cero lo establece a 3 por defecto.

Parameters:
numDiscos - Numero de discos que tendra el Tablero.
Method Detail

getNumMovimientos

public int getNumMovimientos()

Indica el numero de movimientos necesarios para N Discos.

Returns:
Devuelve el numero de movimeintos

mostrarLosMovimientos

public void mostrarLosMovimientos()

Muestra los movimientos
-- Primero imprime el tablero
-- Despues llama a hanoiRecursivo


hanoiRecursivo

private void hanoiRecursivo(int disc,
                            int numDisGrande,
                            int o,
                            int a,
                            int d)

Mediante recursividad, se realizan los N movimientos trasladando los Discos de una Torre a otra.
Despues de cada movimiento se imprime el tablero.

Parameters:
disc - El numero de discos. En cada llamada al procedimiento disminuye en 1.
numDisGrande - El numero que representa el Disco mas grande.
o - Entero con valor de 0, 1 o 3, que indica el origen del Disco a quitar. En cada iteracion el valor cambia.
a - Igual que 'o' pero para marcar la Torre auxiliar.
d - Igual que 'o' pero para marcar la Torre destino.

imprimirTablero

private void imprimirTablero(int numDisGrande)

Imprime el Tablero por pantalla mediante el terminal de texto.

Parameters:
tablaTorres - Tablero con 3 Torres.
numDisGrande - El numero que representa el Disco mas grande.