Jungiklis#

Įvadas#

„Switch“ blokai padeda mokiniams pereiti nuo blokais pagrįsto programavimo prie teksto pagrindu sukurto programavimo. Naudodami „Switch“ blokus, mokiniai gali rašyti „Python“ kodą tiesiai blokų projekte – rašyti komandas, sąlygas, reikšmes ar funkcijų apibrėžimus – tuo pačiu metu kurdami likusį projektą iš blokų. Atskiri blokai taip pat gali būti konvertuojami į atitinkamas „Python“ komandas.

Norėdami sužinoti, kaip įvesti Python komandas, metodus ir operatorius, žr. VEX IQ (2-osios kartos) Python API.

Kadangi „Switch“ blokuose yra „Python“ kodas, rašyba, skyryba ir įtraukos turi būti taisyklingos, kad projektas veiktų taip, kaip tikėtasi.

Žemiau pateikiamas visų jungiklių blokų sąrašas:

Blokų perjungimas – į „Blocks“ projektą įtraukite „Python“ kodą.

  • Stack – Suteikia erdvę, skirtą įvesti Python komandas, kurios vykdomos iš eilės su kitais steko blokais.

  • C blokas – Pateikia tarpą Python valdymo kodui įvesti, pvz., if, while, arba for sakinių.

  • C Išplečiama — Suteikia erdvę Python valdymo kodui su keliomis šakomis, pvz. if, elifarba else.

  • Boolean — Pateikia tarpą Python kodui, kuris grąžina True arba False.

  • Reporter – Pateikia tarpą Python kodui, kuris grąžina reikšmę.

  • Hat — Pateikia erdvę Python funkcijai apibrėžti.

Stack#

Stack blokas suteikia erdvę įvesti Python komandas, kurios vykdomos iš eilės su kitais steko blokais.

Kamino blokas#
[] :: custom-switch

Stack bloke gali būti viena arba kelios Python kodo eilutės.

Paleidus, robotas juda į priekį naudodamas „Stack“ bloką.#
kai pradėta
[Move the robot forward.]
[drivetrain.drive_for(FORWARD, 400, MM)] :: custom-switch

C blokas#

C blokas suteikia vietą Python valdymo kodui įvesti, pvz., if, while, arba for sakiniai. Blokai, esantys C bloko viduje, veikia kaip tos Python valdymo struktūros dalis.

C blokas#
if [] :: custom-switch
pabaiga

Python valdymo kodas, kurį galima naudoti C bloke, apima:

Pradedant, naudojamas C blokas posūkiui, laikant nuspaustą smegenų mygtuką.#
kai pradėta
[Turn while a button is held down.]
if [while brain.buttonCheck.pressing():] :: custom-switch
sukti [dešinėn v]
pabaiga
sustabdyti važiavimą

C Išplečiama#

C išplečiamasis blokas suteikia erdvę Python valdymo kodui su keliomis šakomis, pvz., if, elifarba else, įvesti. Papildomų šakų galima pridėti pasirinkus pliuso rodyklę.

C Išplečiamas blokas#
if [] :: custom-switch-expand
pabaiga

Python valdymo kodas, kurį galima naudoti C išplečiamame bloke, apima:

Pradedant, laikant nuspaustą smegenų mygtuką, naudojamas išskleidžiamas C blokas, kad pasuktų į dešinę, o kitu atveju – į kairę.#
kai pradėta
[Turn right if a button is held down, otherwise turn left.]
amžinai
if [if brain.buttonCheck.pressing():] :: custom-switch-expand
sukti [dešinėn v]
else [else:] :: custom-switch-expand
sukti [kairėn v]
pabaiga
pabaiga

Būlio reikšmė#

Būlio blokas suteikia erdvę Python kodui, kuris grąžina True arba FalseJį galima įdėti į blokus su šešiakampėmis įvestimis.

Būlio blokas#
<[] :: custom-switch>

Būlio bloke gali būti „Python“ sąlyga.

Būlio blokas su Python sąlyga#
<[brain.buttonCheck.pressing()] :: custom-switch>

Būlio bloke taip pat gali būti naudojami loginiai operatoriai:

Būlio blokas su Python loginiu operatoriumi#
<[controller.buttonRUp.pressing() and controller.buttonLUp.pressing()] :: custom-switch>

Būlio bloke reikšmėms palyginti galima naudoti palyginimo operatorius:

  • Didesnis nei: >

  • Mažiau nei: <

  • Lygu: ==

  • Kiti palyginimo operatoriai yra <=, !=ir >=

Būlio blokas su Python palyginimo operatoriumi#
<[brain_inertial.heading()> 100] :: custom-switch>
Paleidus, paspaudus „Smegenų“ mygtuką, sukimui naudojamas Būlio blokas.#
kai pradėta
[Spin in a circle when a button is pressed.]
amžinai
jei <[brain.buttonCheck.pressing()] :: custom-switch> tada
sukti [dešinėn v] per (360) laipsnių ▶
pabaiga
pabaiga

Reporteris#

Reporter blokas suteikia erdvę Python kodui, kuris grąžina reikšmę, įvesti. Jį galima įdėti į blokus su apvaliais įvesties kodais.

Reporterio blokas#
([] :: custom-switch)

Reporter bloke gali būti Python kodas, kuris grąžina reikšmę.

Reporterio blokas su Python kodu, kuris grąžina reikšmę#
([drivetrain.heading()] :: custom-switch)

Matematiniai operatoriai gali būti naudojami Reporter bloke:

  • Sudėtis: +

  • Atimtis: -

  • Skyrius: /

  • Daugyba: *

Reporterio blokas su Python papildymu#
([brain_inertial.heading() + 45] :: custom-switch)
Paleidus, atspausdina dabartinę kryptį po roboto apsisukimo.#
kai pradėta
[Turn and display the current heading.]
sukti [dešinėn v]
laukti (2) sekundžių
sustabdyti važiavimą
spausdinti ([drivetrain.heading()] :: custom-switch) ekrane ▶

Skrybėlė#

Hat blokas suteikia erdvę Python funkcijai apibrėžti. Po Hat bloku prijungti blokai tampa tos funkcijos pagrindu.

Skrybėlių blokas#
[] :: hat custom-switch

Įveskite Python funkcijos apibrėžimą Hat bloke. Parametrai rašomi skliaustuose. Jei funkcija nenaudoja parametrų, naudokite tuščius skliaustus.

Hat blokas su Python funkcijos apibrėžimu#
[def function_name(parameter):] :: hat custom-switch
Paleidus, naudojamas „Hat“ blokas funkcijai apibrėžti ir iškviesti.#
[def drive_400():] :: hat custom-switch
[Create a function to drive the robot forward.]
važiuoti [pirmyn v] per (400) [mm v] ▶

kai pradėta
[drive_400()] :: custom-switch