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, vagyforutasí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,elifvagyelse.Boolean — Szóközt biztosít Python kód beírásához, amely
True-et ad vissza (True vagy 2). vagyFalse-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.
[] :: custom-switch
Egy Stack blokk egy vagy több sornyi Python kódot tartalmazhat.
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.
if [] :: custom-switch
vége
A C blokkban használható Python vezérlőkód a következőket tartalmazza:
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á.
if [] :: custom-switch-expand
vége
A C Expandable blokkban használható Python vezérlőkód a következőket tartalmazza:
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ő.
<[] :: custom-switch>
Egy Boolean blokk tartalmazhat Python feltételt.
<[bumper_a.is_pressed()] :: custom-switch>
Egy Boolean blokk logikai operátorokat is használhat:
<[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>=
<[drivetrain.get_heading()> 100] :: custom-switch>
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ő.
([] :: custom-switch)
Egy Reporter blokk tartalmazhat Python kódot, amely egy értéket ad vissza.
([arm.get_y()] :: custom-switch)
Matematikai operátorok használhatók egy Jelentő blokkban:
([arm.get_y() + 45] :: custom-switch)
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.
[] :: 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.
[def function_name(parameter):] :: hat custom-switch
[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