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 CTE 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, arbaforsakinių.C Išplečiama — Suteikia erdvę Python valdymo kodui su keliomis šakomis, pvz.
if,elifarbaelse.Boolean — Pateikia tarpą Python kodui, kuris grąžina
TruearbaFalse.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.
[] :: custom-switch
Stack bloke gali būti viena arba kelios Python kodo eilutės.
kai pradėta :: 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 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.
if [] :: custom-switch
pabaiga
Python valdymo kodas, kurį galima naudoti C bloke, apima:
kai pradėta :: 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
spausdinti [The 6-Axis Arm can't move to this position.] konsolėje ◀ ir perkelti žymeklį į kitą eilutę
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ę.
if [] :: custom-switch-expand
pabaiga
Python valdymo kodas, kurį galima naudoti C išplečiamame bloke, apima:
kai pradėta
[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
spausdinti [The 6-Axis Arm can't move to this position.] konsolėje ◀ ir perkelti žymeklį į kitą eilutę
else [else:] :: custom-switch-expand
spausdinti [The 6-Axis Arm can move to this position.] konsolėje ◀ ir perkelti žymeklį į kitą eilutę
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.
<[] :: custom-switch>
Būlio bloke gali būti „Python“ sąlyga.
<[bumper_a.is_pressed()] :: custom-switch>
Būlio bloke taip pat gali būti naudojami loginiai operatoriai:
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>
Būlio bloke reikšmėms palyginti galima naudoti palyginimo operatorius:
Didesnis nei:
>Mažiau nei:
<Lygu:
==Kiti palyginimo operatoriai yra
<=,!=ir>=
<[drivetrain.get_heading()> 100] :: custom-switch>
kai pradėta
[Check if the 6-Axis Arm can move to a position.]
jei <ne <[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch>> tada
spausdinti [The 6-Axis Arm can't move to this position.] konsolėje ◀ ir perkelti žymeklį į kitą eilutę
pabaiga
Reporteris#
Reporter blokas suteikia erdvę Python kodui, kuris grąžina reikšmę, įvesti. Jį galima įdėti į blokus su apvaliais įvesties kodais.
([] :: custom-switch)
Reporter bloke gali būti Python kodas, kuris grąžina reikšmę.
([arm.get_y()] :: custom-switch)
Matematiniai operatoriai gali būti naudojami Reporter bloke:
([arm.get_y() + 45] :: custom-switch)
kai pradėta
[Display the current y-position while the 6-Axis Arm moves.]
perkelti [ranka v] į padėtį x:(-100) y:(200) z:(100) [mm v] ◀ ir nelaukti
kartoti kol <[ranka v] baigė judėti?>
spausdinti ([arm.get_y()] :: custom-switch) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
laukti [0.25] sekundžių
pabaiga
Skrybėlė#
Hat blokas suteikia erdvę Python funkcijai apibrėžti. Po Hat bloku prijungti blokai tampa tos funkcijos pagrindu.
[] :: hat custom-switch
Įveskite Python funkcijos apibrėžimą Hat bloke. Parametrai rašomi skliaustuose. Jei funkcija nenaudoja parametrų, naudokite tuščius skliaustus.
[def function_name(parameter):] :: hat custom-switch
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
padidinti [ranka v] padėtį x:[0] y:[100] z:[0] [mm v] ▶
kai pradėta :: hat events
[increment_y_100()] :: custom-switch