Βασικές Εντολές

Υπάρχει ένας αριθμός από βασικές εντολές που μπορείτε να χρησιμοποιήσετε για να γράψετε ένα πρόγραμμα. Επιτρέπεται να χρησιμοποιείτε αυτές τις εντολές είτε άμεσα, κατά την συγγραφή του σεναρίου, είτε έμμεσα με τη χρήση του χειριστηρίου. Για το ρομπότ υπάρχουν οι ακόλουθες βασικές εντολές:


Κίνηση
ΜΠΡΟΣΤΑ(n)
Μετακίνηση n βήματα προς τα εμπρός
ΠΙΣΩ(n)
Μετακίνηση n βήματα προς τα πίσω
ΑΡΙΣΤΕΡΑ()
Στρίψε αριστερά 90 μοίρες
ΔΕΞΙΑ()
Στρίψε δεξιά 90 μοίρες
ΒΟΡΕΙΑ(n)
Γύρισε βόρεια και προχώρα προς τα εμπρός n βήματα
ΝΟΤΙΑ(n)
Γύρισε νότια και προχώρα προς τα εμπρός n βήματα
ΑΝΑΤΟΛΙΚΑ(n)
Γύρισε ανατολικά και προχώρα προς τα εμπρός n βήματα
ΔΥΤΙΚΑ(n)
Γύρισε δυτικά και προχώρα προς τα εμπρός n βήματα


Βάψιμο
ΒΑΨΕ_ΑΣΠΡΟ()
Επέλεξε τη βούρτσα με το λευκό χρώμα
ΒΑΨΕ_ΜΑΥΡΟ()
Επέλεξε τη βούρτσα με το μαύρο χρώμα
ΣΤΑΜΑΤΑ_ΒΑΨΙΜΟ()
Σταμάτα το βάψιμο, κρύψε τη βούρτσα


Πιάσε
ΠΙΑΣΕ()
Πιάσε τη σημαδούρα μπροστά από το ρομπότ
ΑΦΗΣΕ()
Άφησε τη σημαδούρα μπροστά από το ρομπότ


Επέλεξε
ΕΠΙΛΟΓΗ()
Στρίψε ένα νόμισμα για να κάνεις μια τυχαία επιλογή. Η απάντηση θα είναι αληθής ή ψευδής.


Κοίταξε
Αριστερά
Μπροστά
Δεξιά

ΕΜΠΟΔΙΟ_ΑΡΙΣΤΕΡΑ()
ΚΑΘΑΡΑ_ΑΡΙΣΤΕΡΑ()
ΣΗΜΑΔΟΥΡΑ_ΑΡΙΣΤΕΡΑ()
ΑΣΠΡΟ_ΑΡΙΣΤΕΡΑ()
ΜΑΥΡΟ_ΑΡΙΣΤΕΡΑ()
ΕΜΠΟΔΙΟ_ΜΠΡΟΣΤΑ()
ΚΑΘΑΡΑ_ΜΠΡΟΣΤΑ()
ΣΗΜΑΔΟΥΡΑ_ΜΠΡΟΣΤΑ()
ΑΣΠΡΟ_ΜΠΡΟΣΤΑ()
ΜΑΥΡΟ_ΜΠΡΟΣΤΑ()
ΕΜΠΟΔΙΟ_ΔΕΞΙΑ()
ΚΑΘΑΡΑ_ΔΕΞΙΑ()
ΣΗΜΑΔΟΥΡΑ_ΔΕΞΙΑ()
ΑΣΠΡΟ_ΔΕΞΙΑ()
ΜΑΥΡΟ_ΔΕΞΙΑ()

Δομή ελέγχου

Μια απλή δομή ελέγχου. Να δημιουργήσετε το πιο κάτω πρόγραμμα το οποίο να πιάνει τη σημαδούρα και να την τοποθετεί πάνω στο άσπρο σημάδι.



Φύλλο Εργασίας #1

Δομή επανάληψης

Μια απλή δομή επανάληψης για τη δημιουργία μιας σκάλας. Να χρησιμοποιηθεί η εντολή ΕΠΑΝΕΛΑΒΕ για να δημιουργηθούν τα έξι σκαλοπάτια που βλέπετε στο βίντεο.



Φύλλο Εργασίας #2

Line Follower

Το ρομπότ ελέγχει μπροστά, δεξιά και αριστερά και ακολουθά την άσπρη γραμμή. Το πρόγραμμα είναι συνδυασμός δομής επανάληψης και δομής ελέγχου. Το πρόγραμμα τερματίζει όταν το ρομπότ φτάσει στο τέλος της άσπρης γραμμής.



Το πιο κάτω πρόγραμμα είναι παρόμοιο με το προηγούμενο με τη διάφορά ότι η άσπρη γραμμή διακόπτεται από μαύρα σημάδια. Το ρομπότ πρέπει να αγνοεί τα μαύρα σημάδια και να ξαναβρίσκει την άσπρη γραμμή.

 

Wall follower

Η πιο διαδεδομένη και απλή τεχνική επίλυσης ενός λαβύρινθου ονομάζεται wall following και βασίζεται στη διαδικασία που θα ακολουθούσε ένας άνθρωπος για να βγει από ένα λαβύρινθο. Απλά τοποθετούμε το δεξί (ή το αριστερό) μας χέρι στον τοίχο και τον ακολουθούμε μέχρι να βρούμε την έξοδο. Πιο κάτω φαίνεται ο αλγόριθμος όπου το ρομπότ ακολουθά τον τοίχο που βρίσκεται στα δεξιά του μέχρι να εντοπίσει τη σημαδούρα που συμβολίζει την έξοδο.



Πιο κάτω φαίνεται το πρόγραμμα όπου το ρομπότ ακολουθά τον τοίχο που βρίσκεται στα αριστερά του.

Tremaux's Algorithm

Ένας εναλλακτικός τρόπος επίλυσης λαβύρινθου είναι με τη χρήση του αλγόριθμου Tremaux. Καθώς το ρομπότ προχωρά σημαδεύει το δρομολόγιο με άσπρη μπογιά. Όταν φτάσει σε αδιέξοδο επιστρέφει πίσω ακολουθώντας το σημαδεμένο μονοπάτι, βάφοντας το τη δεύτερη φορά με μαύρο χρώμα.  Όταν συναντήσει νέο μονοπάτι το ακολουθά, ενώ συμπεριφέρεται σε μονοπάτια με μαύρο χρώμα σαν αδιέξοδα. Όταν βρει τη σημαδούρα το μονοπάτι με άσπρο χρώμα είναι η λύση του λαβύρινθου.



Ακόμα και σε πιο μεγάλο λαβύρινθο ο αλγόριθμος καταφέρνει να εντοπίσει τη σημαδούρα.