tours_hanoi

## Class HanoiState

- java.lang.Object
- - tours_hanoi.HanoiState

-     public class HanoiState
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `HanoiState.Listener` Permet d'être notifié des changements d'états (utilisé p.ex. par la fenêtre d'affichage)

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MAX_DISKS` Nombre max. de pièces
    `static int` | `NUM_TOWERS` Nombre de tours

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HanoiState(int n)` Construit un jeu des Tours de Hanoï à n disques

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addListener(HanoiState.Listener l)` Enregistre un listener supplémentaire
    `int` | `getDiskSize(int tower, int j)` Retourne la taille de la pièce en position j de la tour i
    `int` | `getMovesCount()` Retourne le nombre total de déplacements
    `int` | `getNumDisks(int tower)` Retourne le nombre de pièces sur la tour i
    `void` | `move(int from, int to)` Déplace une pièce du sommet d'une tour au sommet d'une autre tour.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### NUM_TOWERS

          public static final int NUM_TOWERS

      Nombre de tours
      See Also:
        Constant Field Values

    - #### MAX_DISKS

          public static final int MAX_DISKS

      Nombre max. de pièces
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### HanoiState

          public HanoiState(int n)

      Construit un jeu des Tours de Hanoï à n disques
      Parameters:
        `n` - Le nombre de disques

  - ### Method Detail

    - #### move

          public void move(int from,
                           int to)

      Déplace une pièce du sommet d'une tour au sommet d'une autre tour. Vérifie que les contraintes du jeu sont respectées.
      Parameters:
        `from` - Indice de la tours de départ
        `to` - Indice de la tour d'arrivée

    - #### getNumDisks

          public int getNumDisks(int tower)

      Retourne le nombre de pièces sur la tour i
      Parameters:
        `tower` - L'indice de la tour
      Returns:
        Le nombre de pièces sur la tour

    - #### getDiskSize

          public int getDiskSize(int tower,
                                 int j)

      Retourne la taille de la pièce en position j de la tour i
      Parameters:
        `tower` - L'indice de la tour
        `j` - La position de la pièce
      Returns:
        La taille de la pièce en position j dans la tour

    - #### getMovesCount

          public int getMovesCount()

      Retourne le nombre total de déplacements
      Returns:
        Le nombre total de déplacements

    - #### addListener

          public void addListener(HanoiState.Listener l)

      Enregistre un listener supplémentaire