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.