Kytkin#
Johdanto#
Switch-lohkot auttavat oppilaita siirtymään lohkopohjaisesta koodauksesta tekstipohjaiseen koodaukseen. Switch-lohkojen avulla oppilaat voivat kirjoittaa Python-koodia suoraan lohkoprojektin sisällä – kirjoittaa komentoja, ehtoja, arvoja tai funktiomääritelmiä – ja samalla rakentaa loput projektista lohkoilla. Yksittäiset lohkot voidaan myös muuntaa vastaaviksi Python-komennoiksi.
Lisätietoja Python-komentojen, -metodien ja -operaattoreiden kirjoittamisesta on VEX CTE Python API -ohjeessa.
Koska Switch-lohkot sisältävät Python-koodia, oikeinkirjoituksen, välimerkkien ja sisennysten on oltava oikein, jotta projekti toimisi odotetulla tavalla.
Alla on luettelo kaikista kytkinlohkoista:
Vaihda lohkoja — Lisää Python-koodia Blocks-projektiin.
Pino — Tarjoaa tilan Python-komennoille, jotka suoritetaan peräkkäin muiden pinolohkojen kanssa.
C-lohko — Tarjoaa tilan Python-ohjauskoodin kirjoittamiseen, kuten
if,while, taifor.C Laajennettava — Tarjoaa tilan Python-ohjauskoodille, jossa on useita haaroja, kuten
if,eliftaielse.Totuusarvo — Tarjoaa tilan Python-koodille, joka palauttaa arvon
TruetaiFalse.Reporter — Tarjoaa tilan, johon voi kirjoittaa Python-koodia, joka palauttaa arvon.
Hat — Tarjoaa tilan Python-funktion määrittelylle.
Pino#
Pinolohko tarjoaa tilan Python-komennoille, jotka suoritetaan peräkkäin muiden pinolohkojen kanssa.
[] :: custom-switch
Pino-lohko voi sisältää yhden rivin tai useita rivejä Python-koodia.
kun käynnistetään :: 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-lohko#
C-lohko tarjoaa tilan Python-ohjauskoodin kirjoittamiseen, kuten if, whiletai for -lauseita. C-lohkon sisällä olevat lohkot toimivat osana kyseistä Python-ohjausrakennetta.
if [] :: custom-switch
Loppu
Python-ohjauskoodia, jota voidaan käyttää C-lohkossa, ovat seuraavat:
kun käynnistetään :: 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
tulosta [The 6-Axis Arm can't move to this position.] konsolilla ◀ ja siirrä kursori seuraavalle riville
Loppu
C Laajennettava#
C Expandable -lohko tarjoaa tilan Python-ohjauskoodin kirjoittamiseen useilla haaroilla, kuten if, eliftai elseLisähaaroja voidaan lisätä valitsemalla plus-nuoli.
if [] :: custom-switch-expand
Loppu
Python-ohjauskoodia, jota voidaan käyttää C Expandable -lohkossa, ovat seuraavat:
kun käynnistetään
[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
tulosta [The 6-Axis Arm can't move to this position.] konsolilla ◀ ja siirrä kursori seuraavalle riville
else [else:] :: custom-switch-expand
tulosta [The 6-Axis Arm can move to this position.] konsolilla ◀ ja siirrä kursori seuraavalle riville
Loppu
Totuusarvo#
Totuusarvo-lohko tarjoaa tilan Python-koodille, joka palauttaa arvon True tai FalseSe voidaan sijoittaa lohkojen sisään, joissa on kuusikulmaisia syötteitä.
<[] :: custom-switch>
Totuusarvoinen lohko voi sisältää Python-ehdon.
<[bumper_a.is_pressed()] :: custom-switch>
Myös Totuusarvoinen lohko voi käyttää loogisia operaattoreita:
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>
Totuusarvoinen lohko voi käyttää vertailuoperaattoreita arvojen vertailuun:
Suurempi kuin:
>Alle:
<Yhtä suuri kuin:
==Muita vertailuoperaattoreita ovat
<=,!=ja>=
<[drivetrain.get_heading()> 100] :: custom-switch>
kun käynnistetään
[Check if the 6-Axis Arm can move to a position.]
jos <ei <[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch>> niin
tulosta [The 6-Axis Arm can't move to this position.] konsolilla ◀ ja siirrä kursori seuraavalle riville
Loppu
Reportteri#
Reporter-lohko tarjoaa tilan Python-koodin kirjoittamiseen, joka palauttaa arvon. Se voidaan sijoittaa lohkojen sisään, joissa on ympyränmuotoisia syötteitä.
([] :: custom-switch)
Reporter-lohko voi sisältää Python-koodia, joka palauttaa arvon.
([arm.get_y()] :: custom-switch)
Matemaattisia operaattoreita voidaan käyttää Reporter-lohkossa:
([arm.get_y() + 45] :: custom-switch)
kun käynnistetään
[Display the current y-position while the 6-Axis Arm moves.]
siirrä [käsivarsi v] sijaintiin x:(-100) y:(200) z:(100) [mm v] ◀ eikä odota
toista kunnes <[käsivarsi v] on valmis liikkumaan?>
tulosta ([arm.get_y()] :: custom-switch) konsolilla ◀ ja siirrä kursori seuraavalle riville
odota [0.25] sekuntia
Loppu
Hattu#
Hat-lohko tarjoaa tilan Python-funktion määrittelylle. Hat-lohkon alle liitetyt lohkot muodostavat kyseisen funktion rungon.
[] :: hat custom-switch
Kirjoita Python-funktion määritelmä Hat-lohkoon. Parametrit tulevat sulkeiden sisään. Jos funktio ei käytä parametreja, käytä tyhjiä sulkeita.
[def function_name(parameter):] :: hat custom-switch
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
kasvata [käsivarsi v] sijaintia x:[0] y:[100] z:[0] [mm v] ▶
kun käynnistetään :: hat events
[increment_y_100()] :: custom-switch