/* Slowly moves east and west. Does not fire. */
var west = false;
while (true) {
if (west) {
if (getX() > 25) {
swim(180, 25);
} else {
west = false;
swim(0, 0);
}
} else {
if (getX() < 75) {
swim(0, 25);
} else {
west = true;
swim(0, 0);
}
}
}
/* Moves south-west when hit. Does not fire. */
var d = damage();
while (true) {
if (d != damage()) {
swim(45, 100);
var t = 0;
for (var t = 0; t < 100; t++) {}
d = damage();
stop();
}
}
Συγχαρητήρια!
Η λύση σου δουλεύει, αλλά μπορείς να την βελτιώσεις. Χρησιμοποίησε το 'scan' για να ορίσεις την απόσταση βολής του κανονιού.
Αυτός ο αντίπαλος κινείτε μπροστά και πίσω και έτσι είναι δύσκολο να πετύχετε τον στόχο. Η συνάρτηση 'scan' επιστρέφει την ακριβή απόσταση από τον αντίπαλο στην δοσμένη κατεύθυνση.
Αυτή η απόσταση είναι ακριβώς αυτή που χρειάζεται η εντολή 'cannon' για να πυροβολήσει με ακρίβεια.