Le monde des Buggles

Ce monde a été inventé par Lyn Turbak, du Wellesley College. Il est peuplé de Buggles, petites bêtes qui comprennent des ordres simples, et offre de nombreuses possibilités d'interaction avec le monde: prendre ou poser des objets, colorier le sol, se cogner à des murs, etc.

Méthodes comprises par les buggles

Bouger
(voir aussi la note sur les exceptions, plus bas)
Tourner à gauche
Tourner à droite
Se retourner
Avancer
Reculer
[!java]void [/!]gauche()
[!java]void [/!]droite()
[!java]void [/!]retourne()
[!java]void [/!]avance() ou [!java]void [/!]avance([!java]int [/!]steps[!scala]:Int[/!])
[!java]void [/!]recule() or [!java]void [/!]recule([!java]int [/!]steps[!scala]:Int[/!])
Obtenir l'abcisse
Obtenir l'ordonnée
Changer l'abcisse
Changer l'ordonnée
Changer la position
[!java]int [/!]getX()[!scala]:Int[/!]
[!java]int [/!]getY()[!scala]:Int[/!]
[!java]void [/!]setX([!java]int [/!]x[!scala]:Int[/!])
[!java]void [/!]setY([!java]int [/!]y[!scala]:Int[/!])
[!java]void [/!]setPos([!java]int [/!]x[!scala]:Int[/!], [!java]int [/!]y[!scala]:Int[/!])
Informations sur la buggle
Obtenir la couleur
Changer la couleur
[!java]Color [/!]getCouleur()[!scala]:Color[/!]
[!java]void [/!]setCouleur([!java]Color [/!]c[!scala]:Color[/!])
Chercher un mur devant
Chercher un mur derriere
[!java]boolean [/!]estFaceMur()[!scala]:Boolean[/!]
[!java]boolean [/!]estDosMur()[!scala]:Boolean[/!]
Obtenir la direction
Changer la direction

Les directions valides sont :
[!java]Direction [/!]getDirection()[!scala]:Direction[/!]
[!java]void [/!]setDirection([!java]Direction [/!]dir[!scala]:Direction[/!])
Direction.NORTH (le nord), Direction.EAST (l'est), Direction.SOUTH (le sud) et Direction.WEST (l'ouest)
Renvoi si la buggle est actuellement sélectionnée dans l'interface [!java]boolean [/!]estChoisie()[!scala]:Boolean[/!]
À propos de la brosse
Baisser la brosse
Lever la brosse
Obtenir la position de la brosse
[!java]void [/!]leveBrosse()
[!java]void [/!]baisseBrosse()
[!java]boolean [/!]estBrosseLevee()[!scala]:Boolean[/!]
Modifier la couleur de la brosse
Obtenir la couleur de la brosse
[!java]void [/!]setCouleurBrosse([!java]Color [/!]c[!scala]:Color[/!])
[!java]Color [/!]getCouleurBrosse()[!scala]:Color[/!]
Interagir avec le monde
Obtenir la couleur du sol [!java]Color [/!]getCouleurSol()[!scala]:Color[/!]
Chercher un biscuit par terre
Chercher un biscuit dans ses poches
Prendre un biscuit
Poser un biscuit

(voir la note sur les exceptions)
[!java]boolean [/!]estSurBiscuit()[!scala]:Boolean[/!]
[!java]boolean [/!]porteBiscuit()[!scala]:Boolean[/!]
[!java]void [/!]prendBiscuit()
[!java]void [/!]poseBiscuit()
Chercher un message
Ajouter un message
Lire le message
Effacer le message
[!java]boolean [/!]estSurMessage()[!scala]:Boolean[/!]
[!java]void [/!]ecritMessage([!java]String [/!]msg[!scala]:String[/!])
[!java]String [/!]litMessage()[!scala]:String[/!]
[!java]void [/!]effaceMessage()

Note sur les exceptions

Les buggles normales lèvent une exception BuggleWallException si on cherche à leur faire traverser un mur. Elles lèvent une exception NoBaggleUnderBuggleException si vous cherchez à prendre un baggle dans une case qui n'en contient pas, ou une exception AlreadyHaveBaggleException si vous portez déjà un baggel. Tenter de déposer un baggel sur une case qui en contient déjà lève une exception AlreadyHaveBaggleException.

Les "SimpleBuggles" (ie, celles utilisées dans les premiers exercices) affiche un message d'erreur sans que vous ayez à vous soucier de ce qu'est une exception.