tours_hanoi

## Class HanoiState

- java.lang.Object
- - tours_hanoi.HanoiState

    public class HanoiState
    extends java.lang.Object

### Nested Class Summary

Nested Classes
`static interface` `HanoiState.Listener` Permet d'être notifié des changements d'états (utilisé p.ex. par la fenêtre d'affichage)

### Field Summary

Fields
`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
`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