# Baseball multicolore

Les couleurs sont représentées comme des entiers, entre `0` et `nombre de bases - 1`. Le trou est représenté par la valeur spéciale `-1`. La couleur de chaque base est son rang, ce qui fait que la base `1` est de couleur `1`. Dans l'interface graphique, la base `0` est la bleue foncée tandis que la base `1` est celle fuscia.

Une fois que tous les joueurs du terrain sont chez eux, le trou se trouve dans la dernière base, celle de rang `getNombreBases()-1`.

## Fonctions pour découvrir les dimensions du monde

    [!java|c]int [/!]getNombreBases() [!scala]:Int[/!]

Retourne le nombre de bases dans le terrain.

    [!java|c]int [/!]getNombrePositions() [!scala]:Int[/!]

Retourne le nombre de positions disponibles par base.

## Fonctions pour découvrir l'état du monde

    [!java|c]int [/!]getTrouBase() [!scala]:Int[/!]

Retourne l'index de la base où se trouve le trou.

    [!java|c]int [/!]getTrouPosition() [!scala]:Int[/!]

Retourne la position du trou dans sa base.

    [!java|c]int [/!]getCouleurJoueur([!java|c]int [/!]base[!scala]:Int[/!], [!java|c]int [/!]position[!scala]:Int[/!])  [!scala]:Int[/!]

Retourne la couleur d'un joueur donné à partir de sa position.

    [!java]boolean [/!][!c]int [/!]estTrie() [!scala]:Boolean[/!]

Retourne si tous les joueurs présents sur le terrain sont chez eux.

    [!java]boolean [/!][!c]int [/!]estBaseTriee([!java|c]int [/!]base)  [!scala]:Boolean[/!]

Retourne si tous les joueurs d'une base donnée sont chez eux.

    [!java]boolean [/!][!c]int [/!]estSelectionne() [!scala]:Boolean[/!]

Renvoi si le monde actuel est sélectionné dans l'interface graphique.

## Fonctions pour changer le monde

    [!java|c]void [/!]deplace([!java|c]int [/!]base[!scala]:Int[/!], [!java|c]int [/!]position[!scala]:Int[/!])

Déplace un joueur dans le trou. Une exception IllegalArgumentException est levée si le joueur indiqué n'est pas suffisamment près du trou. Il peut être au plus à une base du trou.