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 V5 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, tai for.

  • C Laajennettava — Tarjoaa tilan Python-ohjauskoodille, jossa on useita haaroja, kuten if, eliftai else.

  • Totuusarvo — Tarjoaa tilan Python-koodille, joka palauttaa arvon True tai False.

  • 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.

Pinolohko#
[] :: custom-switch

Pino-lohko voi sisältää yhden rivin tai useita rivejä Python-koodia.

Käynnistettynä käyttää Stack-lohkoa ajaakseen eteenpäin, odottaakseen ja pysähtyäkseen.#
kun käynnistetään :: hat events
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
odota [2] sekuntia
pysäytä ajaminen

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.

C-lohko#
if [] :: custom-switch
Loppu

Python-ohjauskoodia, jota voidaan käyttää C-lohkossa, ovat seuraavat:

Käynnistettynä käyttää C-lohkoa ajaakseen eteenpäin, kun näyttöä painetaan.#
kun käynnistetään :: hat events
[Drive forward when the screen is pressed.]
ikuisesti
if [if brain.screen.pressing():] :: custom-switch
aja [eteenpäin v] [200] [mm v] ▶
Loppu
Loppu

C Laajennettava#

C Expandable -lohko tarjoaa tilan Python-ohjauskoodin kirjoittamiseen useilla haaroilla, kuten if, eliftai elseLisähaaroja voidaan lisätä valitsemalla plus-nuoli.

C Laajennettava lohko#
if [] :: custom-switch-expand
Loppu

Python-ohjauskoodia, jota voidaan käyttää C Expandable -lohkossa, ovat seuraavat:

Käynnistettynä käyttää C-laajennettavaa lohkoa kääntyäkseen oikealle, kun näyttöä painetaan, ja vasemmalle muuten.#
kun käynnistetään
[Turn right when the screen is pressed, otherwise turn left.]
ikuisesti
if [if brain.screen.pressing():] :: custom-switch-expand
käänny [oikealle v]
else [else:] :: custom-switch-expand
käänny [vasemmalle v]
Loppu
Loppu

Totuusarvo#

Totuusarvo-lohko tarjoaa tilan Python-koodille, joka palauttaa arvon True tai FalseSe voidaan sijoittaa lohkojen sisään, joissa on kuusikulmaisia ​​syötteitä.

Boolen lohko#
<[] :: custom-switch>

Totuusarvoinen lohko voi sisältää Python-ehdon.

Boolen lohko Python-ehdolla#
<[bumper_a.is_pressed()] :: custom-switch>

Myös Totuusarvoinen lohko voi käyttää loogisia operaattoreita:

Boolen lohko Pythonin loogisella operaattorilla#
<[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 >=

Boolen lohko Pythonin vertailuoperaattorilla#
<[drivetrain.get_heading()> 100] :: custom-switch>
Käynnistettynä käyttää Boolen lohkoa ajaakseen eteenpäin aina, kun näyttöä painetaan.#
kun käynnistetään :: hat events
[Drive forward whenever the screen is pressed.]
ikuisesti
jos <[brain.screen.pressing()] :: custom-switch> niin
aja [eteenpäin v] [200] [mm v] ▶
Loppu
Loppu

Reportteri#

Reporter-lohko tarjoaa tilan Python-koodin kirjoittamiseen, joka palauttaa arvon. Se voidaan sijoittaa lohkojen sisään, joissa on ympyränmuotoisia syötteitä.

Toimittajan lohko#
([] :: custom-switch)

Reporter-lohko voi sisältää Python-koodia, joka palauttaa arvon.

Reporter-lohko, jossa on Python-koodia, joka palauttaa arvon#
([drivetrain.rotation()] :: custom-switch)

Matemaattisia operaattoreita voidaan käyttää Reporter-lohkossa:

  • Yhteenlasku: +

  • Vähennyslasku: -

  • Jako: /

  • Kertolasku: *

Reporter-lohko Python-lisäyksellä#
([drivetrain.rotation() + 45] :: custom-switch)
Käynnistyksen yhteydessä tulostaa voimansiirron pyörimisen robotin kääntyessä.#
kun käynnistetään :: hat events
[Display the rotation while turning.]
käänny [oikealle v] [450] astetta ◀ eikä odota
ikuisesti
tyhjennä kaikki rivit
tulosta ([drivetrain.rotation()] :: custom-switch) ▶
odota [0.1] sekuntia
Loppu

Hattu#

Hat-lohko tarjoaa tilan Python-funktion määrittelylle. Hat-lohkon alle liitetyt lohkot muodostavat kyseisen funktion rungon.

Hattulohko#
[] :: 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.

Hat-lohko Python-funktion määritelmällä#
[def function_name(parameter):] :: hat custom-switch
Käynnistettynä käyttää Hat-lohkoa funktion määrittelemiseen ja kutsumiseen.#
[def drive_400():] :: hat custom-switch
[Create a function to drive the robot forward.]
aja [eteenpäin v] (400) [mm v] ▶

kun käynnistetään :: hat events
[drive_400()] :: custom-switch