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

Pajudėjęs naudoja „Stack“ bloką, kad važiuotų pirmyn, palauktų ir sustotų.#
kai pradėta :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
laukti [2] sekundžių
sustabdyti važiavimą

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:

Užvedus, paspaudus LED buferį, važiuoja į priekį C formos bloku.#
kai pradėta :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
amžinai
if [if bumper.is_pressed():] :: custom-switch
važiuoti [pirmyn v] per [200] [mm v] ▶
pabaiga
pabaiga

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:

Paleidus, naudojamas išplečiamas C blokas, kad sustotų, kai aptinkamas objektas, ir važiuotų kitu atveju.#
kai pradėta
[Build Used: Super Code Base 2.0]
[Drive forward if there is not an object in the way.]
amžinai
if [if eye.is_object_detected():] :: custom-switch-expand
sustabdyti važiavimą
else [else:] :: custom-switch-expand
važiuoti [pirmyn v] per [200] [mm 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#
<[bumper.is_pressed()] :: custom-switch>

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

Būlio blokas su Python loginiu operatoriumi#
<[bumper.is_pressed() or eye.is_object_detected()] :: 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#
<[drivetrain.get_heading()> 100] :: custom-switch>
Paleidus, paspaudus LED buferį, naudojamas Būlio blokas, kad būtų galima važiuoti pirmyn.#
kai pradėta :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
amžinai
jei <[bumper.is_pressed()] :: custom-switch> tada
važiuoti [pirmyn v] per [200] [mm v] ▶
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.get_rotation()] :: custom-switch)

Matematiniai operatoriai gali būti naudojami Reporter bloke:

  • Sudėtis: +

  • Atimtis: -

  • Skyrius: /

  • Daugyba: *

Reporterio blokas su Python papildymu#
([drivetrain.get_heading() + 45] :: custom-switch)
Paleidus, atspausdina pavaros sukimąsi robotui sukant.#
kai pradėta :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
sukti [dešinėn v] per [450] laipsnių ◀ ir nelaukti
amžinai
išvalyti visas eilutes
spausdinti ([drivetrain.get_rotation()] :: custom-switch) ▶
laukti [0.1] sekundžių
pabaiga

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
[Build Used: Code Base 2.0]
[Create a function to drive the robot forward.]
važiuoti [pirmyn v] per (400) [mm v] ▶

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