Kapcsoló#

Bevezetés#

A Switch blokkok segítenek a diákoknak a blokkalapú kódolásról a szövegalapú kódolásra való átállásban. A Switch blokkok segítségével a diákok közvetlenül egy blokkprojekten belül gépelhetnek Python kódot – parancsokat, feltételeket, értékeket vagy függvénydefiníciókat írhatnak –, miközben a projekt többi részét továbbra is blokkokkal építik fel. Az egyes blokkok átalakíthatók a nekik megfelelő Python parancsokká is.

A Python parancsok, metódusok és operátorok begépelésének megtanulásához lásd a VEX CTE Python API leírást.

Mivel a Switch blokkok Python kódot tartalmaznak, a helyesírásnak, az írásjeleknek és a behúzásnak helyesnek kell lennie ahhoz, hogy a projekt a várt módon fusson.

Az alábbiakban felsoroljuk az összes kapcsolóblokkot:

Blokkok váltása — Python kód hozzáadása egy Blocks projekthez.

  • Stack — Helyet biztosít a többi veremblokkkal sorban futó Python parancsok beírásához.

  • C blokk — Szóközt biztosít Python vezérlőkód beírásához, például if, while, vagy for utasítások.

  • C Bővíthető — Helyet biztosít több ágból álló Python vezérlőkód beírására, például if, elifvagy else.

  • Boolean — Szóközt biztosít Python kód beírásához, amely True -et ad vissza (True vagy 2). vagy False -et.

  • Jelentő — Helyet biztosít egy értéket visszaadó Python kód beírásához.

  • Hat — Helyet biztosít egy Python függvény definiálásához.

Stack#

A Stack blokk helyet biztosít olyan Python parancsok begépelésére, amelyek más veremblokkokkal sorban futnak.

Veremblokk#
[] :: custom-switch

Egy Stack blokk egy vagy több sornyi Python kódot tartalmazhat.

Indításkor egy Stack blokkot használ a 6 tengelyes kar egy adott pozícióba mozgatásához.#
amikor elindul :: hat events
[Move the 6-Axis Arm to a standard position at the start of the project.]
[arm.move_to(120, 120, 75, False)] :: custom-switch

C tömb#

A C blokk helyet biztosít Python vezérlőkód beírására, például if, while, vagy for utasítások esetén. A C blokkon belül elhelyezett blokkok a Python vezérlőszerkezetének részeként futnak.

C tömb#
if [] :: custom-switch
vége

A C blokkban használható Python vezérlőkód a következőket tartalmazza:

Indításkor egy C blokk segítségével ellenőrzi, hogy a 6 tengelyes kar eléri-e a kívánt pozíciót.#
amikor elindul :: hat events
[Check if the 6-Axis Arm can move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch
[The 6-Axis Arm can't move to this position.] nyomtatása a konzolon ◀ és kurzor a következő sorra
vége

C Bővíthető#

A C Expandable blokk helyet biztosít több ággal rendelkező Python vezérlőkód beírására, például if, elifvagy else. További ágak a plusz nyíl kiválasztásával adhatók hozzá.

C Bővíthető blokk#
if [] :: custom-switch-expand
vége

A C Expandable blokkban használható Python vezérlőkód a következőket tartalmazza:

Indításkor egy C bővíthető blokkot használ annak ellenőrzésére, hogy a 6 tengelyes kar eléri-e a kívánt pozíciót.#
amikor elindul
[Check if the 6-Axis Arm can or can't move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch-expand
[The 6-Axis Arm can't move to this position.] nyomtatása a konzolon ◀ és kurzor a következő sorra
else [else:] :: custom-switch-expand
[The 6-Axis Arm can move to this position.] nyomtatása a konzolon ◀ és kurzor a következő sorra
vége

Logikai#

A Boolean blokk helyet biztosít Python kód beírására, amely True vagy Falseértéket ad vissza. Hexagonális bemenettel rendelkező blokkokba helyezhető.

Boole-blokk#
<[] :: custom-switch>

Egy Boolean blokk tartalmazhat Python feltételt.

Boole-blokk Python feltétellel#
<[bumper_a.is_pressed()] :: custom-switch>

Egy Boolean blokk logikai operátorokat is használhat:

Boole-blokk Python logikai operátorral#
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>

Egy Boolean blokk összehasonlító operátorokat használhat az értékek összehasonlítására:

  • Nagyobb, mint: >

  • Kevesebb, mint: <

  • Egyenlő: ==

  • Egyéb összehasonlító operátorok közé tartozik a <=, !=és >=

Boole-blokk Python összehasonlító operátorral#
<[drivetrain.get_heading()> 100] :: custom-switch>
Indításkor egy Boole-blokkot használ annak ellenőrzésére, hogy a 6 tengelyes kar el tud-e érni egy adott pozíciót.#
amikor elindul
[Check if the 6-Axis Arm can move to a position.]
ha <nem <[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch>> akkor
[The 6-Axis Arm can't move to this position.] nyomtatása a konzolon ◀ és kurzor a következő sorra
vége

Riporter#

A Reporter blokk helyet biztosít a visszaadott Python kód beírására. Kör alakú bemenetekkel rendelkező blokkokba helyezhető.

Riporter blokk#
([] :: custom-switch)

Egy Reporter blokk tartalmazhat Python kódot, amely egy értéket ad vissza.

Riporter blokk Python kóddal, amely értéket ad vissza#
([arm.get_y()] :: custom-switch)

Matematikai operátorok használhatók egy Jelentő blokkban:

  • Összeadás: +

  • Kivonás: -

  • Osztály: /

  • Szorzás: *

Riporter blokk Python kiegészítéssel#
([arm.get_y() + 45] :: custom-switch)
Indításkor kinyomtatja az aktuális y pozíciót, miközben a 6 tengelyes kar mozog.#
amikor elindul
[Display the current y-position while the 6-Axis Arm moves.]
[kar v] mozgatása x:(-100) y:(200) z:(100) [mm v] pozícióba ◀ és ne várjon
ismétlés amíg <[kar v] befejezte a mozgást?>
([arm.get_y()] :: custom-switch) nyomtatása a konzolon ◀ és kurzor a következő sorra
várakozás [0.25] másodpercig
vége

Kalap#

A Hat blokk teret biztosít egy Python függvény definiálására. A Hat alá csatolt blokkok a függvény törzsét alkotják.

Kalapblokk#
[] :: hat custom-switch

Írj be egy Python függvénydefiníciót a Hat blokkba. A paraméterek zárójelek közé kerülnek. Ha a függvény nem használ paramétereket, használj üres zárójeleket.

Hat blokk Python függvénydefinícióval#
[def function_name(parameter):] :: hat custom-switch
Indításkor egy Hat blokkot használ egy függvény definiálására és meghívására.#
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
[kar v] pozíciójának növelése x:[0] y:[100] z:[0] [mm v] értékkel ▶

amikor elindul :: hat events
[increment_y_100()] :: custom-switch