Διακόπτης#

Εισαγωγή#

Τα μπλοκ εναλλαγής βοηθούν τους μαθητές να μεταβούν από την κωδικοποίηση που βασίζεται σε μπλοκ στην κωδικοποίηση που βασίζεται σε κείμενο. Με τα μπλοκ εναλλαγής, οι μαθητές μπορούν να πληκτρολογήσουν κώδικα Python απευθείας μέσα σε ένα έργο μπλοκ — γράφοντας εντολές, συνθήκες, τιμές ή ορισμούς συναρτήσεων — ενώ παράλληλα δημιουργούν το υπόλοιπο έργο με μπλοκ. Μεμονωμένα μπλοκ μπορούν επίσης να μετατραπούν στις αντίστοιχες εντολές Python.

Για να μάθετε πώς να πληκτρολογείτε εντολές, μεθόδους και τελεστές Python, ανατρέξτε στο VEX GO Python API.

Επειδή τα μπλοκ Switch περιέχουν κώδικα Python, η ορθογραφία, η στίξη και η εσοχή πρέπει να είναι σωστά για να εκτελεστεί το έργο όπως αναμένεται.

Παρακάτω είναι μια λίστα με όλα τα μπλοκ Switch:

Εναλλαγή μπλοκ — Προσθήκη κώδικα Python σε ένα έργο Blocks.

  • Stack — Παρέχει χώρο για την πληκτρολόγηση εντολών Python που εκτελούνται σε ακολουθία με άλλα μπλοκ στοίβας.

  • C Block — Provides a space to type Python control code, such as if, while, or for statements.

  • C Expandable — Provides a space to type Python control code with multiple branches, such as if, elif, or else.

  • Boolean — Provides a space to type Python code that returns True or False.

  • Reporter — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή.

  • Hat — Παρέχει ένα κενό για τον ορισμό μιας συνάρτησης Python.

Σωρός#

Το μπλοκ Stack παρέχει έναν χώρο για την πληκτρολόγηση εντολών Python που εκτελούνται σε ακολουθία με άλλα μπλοκ στοίβας.

Μπλοκ στοίβας#
[] :: custom-switch

Ένα μπλοκ Stack μπορεί να περιέχει μία γραμμή ή πολλές γραμμές κώδικα Python.

Όταν ξεκινήσει, χρησιμοποιεί ένα μπλοκ Stack για να προχωρήσει προς τα εμπρός, να περιμένει και μετά να σταματήσει.#
όταν ξεκινά :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
περίμενε [2] δευτερόλεπτα
διακοπή κίνησης

Μπλοκ Γ#

The C Block provides a space to type Python control code, such as if, while, or for statements. Blocks placed inside the C Block run as part of that Python control structure.

Μπλοκ Γ#
if [] :: custom-switch
τέλος

Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Block περιλαμβάνει:

Όταν ξεκινήσει, χρησιμοποιεί ένα μπλοκ C για να κινηθεί προς τα εμπρός όταν πατηθεί ο προφυλακτήρας LED.#
όταν ξεκινά :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
για πάντα
if [if bumper.is_pressed():] :: custom-switch
κίνηση [εμπρός v] για [200] [mm v] ▶
τέλος
τέλος

C Επεκτάσιμο#

The C Expandable block provides a space to type Python control code with multiple branches, such as if, elif, or else. Additional branches can be added by selecting the plus arrow.

C Επεκτάσιμο μπλοκ#
if [] :: custom-switch-expand
τέλος

Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Expandable μπλοκ περιλαμβάνει:

Όταν ξεκινήσει, χρησιμοποιεί ένα επεκτάσιμο μπλοκ C για να σταματήσει όταν εντοπιστεί ένα αντικείμενο και να εκτελέσει την οδήγηση διαφορετικά.#
όταν ξεκινά
[Build Used: Super Code Base 2.0]
[Drive forward if there is not an object in the way.]
για πάντα
if [if eye.is_object_detected():] :: custom-switch-expand
διακοπή κίνησης
else [else:] :: custom-switch-expand
κίνηση [εμπρός v] για [200] [mm v] ▶
τέλος
τέλος

Λογική τιμή#

The Boolean block provides a space to type Python code that returns True or False. It can be placed inside blocks with hexagonal inputs.

Λογικό μπλοκ#
<[] :: custom-switch>

Ένα Boolean μπλοκ μπορεί να περιέχει μια συνθήκη Python.

Λογικό μπλοκ με συνθήκη Python#
<[bumper.is_pressed()] :: custom-switch>

Ένα Boolean μπλοκ μπορεί επίσης να χρησιμοποιήσει λογικούς τελεστές:

Λογικό μπλοκ με λογικό τελεστή Python#
<[bumper.is_pressed() or eye.is_object_detected()] :: custom-switch>

Ένα Boolean μπλοκ μπορεί να χρησιμοποιήσει τελεστές σύγκρισης για να συγκρίνει τιμές:

  • Greater than: >

  • Less than: <

  • Equal to: ==

  • Other comparison operators include <=, !=, and >=

Λογικό μπλοκ με τελεστή σύγκρισης Python#
<[drivetrain.get_heading()> 100] :: custom-switch>
Όταν ξεκινήσει, χρησιμοποιεί ένα Boolean μπλοκ για να προχωρήσει προς τα εμπρός κάθε φορά που πατιέται ο προφυλακτήρας LED.#
όταν ξεκινά :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
για πάντα
αν <[bumper.is_pressed()] :: custom-switch> τότε
κίνηση [εμπρός v] για [200] [mm v] ▶
τέλος
τέλος

Δημοσιογράφος#

Το μπλοκ Reporter παρέχει έναν χώρο για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή. Μπορεί να τοποθετηθεί μέσα σε μπλοκ με κυκλικές εισόδους.

Μπλοκάρισμα δημοσιογράφων#
([] :: custom-switch)

Ένα μπλοκ Reporter μπορεί να περιέχει κώδικα Python που επιστρέφει μια τιμή.

Μπλοκ αναφοράς με κώδικα Python που επιστρέφει μια τιμή#
([drivetrain.get_rotation()] :: custom-switch)

Οι μαθηματικοί τελεστές μπορούν να χρησιμοποιηθούν σε ένα μπλοκ Reporter:

  • Addition: +

  • Subtraction: -

  • Division: /

  • Multiplication: *

Μπλοκ αναφοράς με προσθήκη Python#
([drivetrain.get_heading() + 45] :: custom-switch)
Όταν ξεκινήσει, εκτυπώνει την περιστροφή του συστήματος μετάδοσης κίνησης ενώ το ρομπότ περιστρέφεται.#
όταν ξεκινά :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
στροφή [δεξιά v] για [450] μοίρες ◀ και μη περιμένεις
για πάντα
εκκαθάριση όλων των γραμμών
εκτύπωση ([drivetrain.get_rotation()] :: custom-switch) ▶
περίμενε [0.1] δευτερόλεπτα
τέλος

Καπέλο#

Το μπλοκ Hat παρέχει έναν χώρο για τον ορισμό μιας συνάρτησης Python. Τα μπλοκ που είναι προσαρτημένα κάτω από το Hat γίνονται το σώμα αυτής της συνάρτησης.

Μπλοκ καπέλων#
[] :: hat custom-switch

Πληκτρολογήστε έναν ορισμό συνάρτησης Python στο μπλοκ Hat. Οι παράμετροι μπαίνουν μέσα στις παρενθέσεις. Εάν η συνάρτηση δεν χρησιμοποιεί παραμέτρους, χρησιμοποιήστε κενές παρενθέσεις.

Μπλοκ Hat με ορισμό συνάρτησης Python#
[def function_name(parameter):] :: hat custom-switch
Όταν ξεκινήσει, χρησιμοποιεί ένα μπλοκ Hat για να ορίσει και να καλέσει μια συνάρτηση.#
[def drive_400():] :: hat custom-switch
[Build Used: Code Base 2.0]
[Create a function to drive the robot forward.]
κίνηση [εμπρός v] για (400) [mm v] ▶

όταν ξεκινά :: hat events
[drive_400()] :: custom-switch