Ora insegneremo al buggle ad esplorare il suo mondo. La sua posizione iniziale è nell'angolo in basso a sinistra, dovrai fargli visitare tutte le celle fino a sopra (colorando il terreno al suo passaggio). Il ciclo principale del tuo codice sarà qualcosa come:
abbassa il pennello fintanto che non raggiungi la posizione finale muoviti come un serpente
Dobbiamo quindi scrivere due metodi specifici: il primo che ritorna un valore booleano indicante se siamo sulla posizione finale mentre il secondo dovrà muovere il buggle un passo da serpente in avanti.
Raggiungeremo la posizione finale solo e solamente se entrambe queste condizioni saranno vere:
getDirection()
, and we know whether it looks east using
getDirection() == [!scala|python|java]Direction.[/!]EAST
(WEST
for west).Quindi il passo da serpente può essere compiuto avanzando se non abbiamo un muro difronte o viceversa spostandosi alla linea successiva (ad esempio se guardando a ovest vedete un muro dovrete girate a destra, andare avanti e girare di nuovo a destra).
Hint: the main loop of your code must continue while the testing function returns false. There is two ways of writing it:
while (testingFunction() == [!c]0) {[/!][!java|scala]false) {[/!][!python]False):[/!]
[!python]You may prefer to write it as:[/!] [!java|scala|c]Since the exclamation mark (!) denotes the boolean negation in [!thelang], you may write it as:[/!]
while ([!java|scala|c]![/!][!python]not [/!]testingFunction())[!java|scala|c] {[/!][!python]:[/!]
È il tuo turno...