Přepínač#

Zavedení#

Bloky Switch pomáhají studentům přejít z blokového kódování na textové kódování. S bloky Switch mohou studenti psát kód Pythonu přímo v projektu bloků – zapisovat příkazy, podmínky, hodnoty nebo definice funkcí – a zároveň sestavovat zbytek projektu pomocí bloků. Jednotlivé bloky lze také převést na ekvivalentní příkazy Pythonu.

Chcete-li se naučit psát příkazy, metody a operátory Pythonu, podívejte se na VEX GO Python API.

Protože bloky Switch obsahují kód Pythonu, musí být pravopis, interpunkce a odsazení správné, aby projekt běžel podle očekávání.

Níže je uveden seznam všech bloků přepínačů:

Přepínání bloků – Přidání kódu Pythonu do projektu Blocks.

  • Stack — Poskytuje prostor pro zadávání příkazů Pythonu, které se spouštějí v pořadí s dalšími bloky zásobníku.

  • C Block — Poskytuje prostor pro zadání řídicího kódu Pythonu, například příkazů if, whilenebo for.

  • C Expandable — Poskytuje prostor pro psaní řídicího kódu Pythonu s více větvemi, například if, elifnebo else.

  • Boolean — Poskytuje prostor pro zadání kódu Pythonu, který vrací True nebo False.

  • Reporter — Poskytuje prostor pro zadání kódu Pythonu, který vrací hodnotu.

  • Hat — Poskytuje prostor pro definování funkce Pythonu.

Stoh#

Blok Stack poskytuje prostor pro psaní příkazů Pythonu, které se spouštějí v pořadí s ostatními bloky stack.

Zásobníkový blok#
[] :: custom-switch

Blok Stack může obsahovat jeden nebo více řádků kódu v Pythonu.

Po spuštění použije blok Stack k pohybu vpřed, čekání a následnému zastavení.#
při spuštění :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
čekat [2] sekund
zastavit jízdu

Blok C#

Blok C poskytuje prostor pro zadání řídicího kódu Pythonu, například příkazů if, whilenebo for Bloky umístěné uvnitř bloku C fungují jako součást této řídicí struktury Pythonu.

Blok C#
if [] :: custom-switch
konec

Řídicí kód Pythonu, který lze použít v bloku C, zahrnuje:

Po nastartování se po stisknutí LED nárazníku použije blok C k jízdě vpřed.#
při spuštění :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
navždy
if [if bumper.is_pressed():] :: custom-switch
jet [dopředu v] na [200] [mm v] ▶
konec
konec

Rozbalitelné C#

Blok C Expandable poskytuje prostor pro psaní řídicího kódu Pythonu s více větvemi, například if, elifnebo else. Další větve lze přidat výběrem šipky plus.

C Rozbalitelný blok#
if [] :: custom-switch-expand
konec

Řídicí kód Pythonu, který lze použít v C Expandable bloku, zahrnuje:

Při spuštění používá rozšiřitelný blok typu C k zastavení při detekci objektu a k řízení v opačném případě.#
při spuštění
[Build Used: Super Code Base 2.0]
[Drive forward if there is not an object in the way.]
navždy
if [if eye.is_object_detected():] :: custom-switch-expand
zastavit jízdu
else [else:] :: custom-switch-expand
jet [dopředu v] na [200] [mm v] ▶
konec
konec

Booleovská hodnota#

Blok Boolean poskytuje prostor pro psaní kódu Pythonu, který vrací True nebo FalseLze jej umístit do bloků s hexagonálními vstupy.

Booleovský blok#
<[] :: custom-switch>

Blok Boolean může obsahovat podmínku Pythonu.

Booleovský blok s podmínkou v Pythonu#
<[bumper.is_pressed()] :: custom-switch>

Booleovský blok může také používat logické operátory:

Booleovský blok s logickým operátorem Pythonu#
<[bumper.is_pressed() or eye.is_object_detected()] :: custom-switch>

Blok Boolean může k porovnání hodnot používat porovnávací operátory:

  • Větší než: >

  • Menší než: <

  • Rovné: ==

  • Mezi další porovnávací operátory patří <=, !=a >=.

Booleovský blok s porovnávacím operátorem v Pythonu#
<[drivetrain.get_heading()> 100] :: custom-switch>
Po spuštění používá booleovský blok pro pohyb vpřed při každém stisknutí LED Bumper.#
při spuštění :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
navždy
pokud <[bumper.is_pressed()] :: custom-switch> pak
jet [dopředu v] na [200] [mm v] ▶
konec
konec

Zpravodaj#

Blok Reporter poskytuje prostor pro psaní kódu Pythonu, který vrací hodnotu. Lze jej umístit do bloků s kruhovými vstupy.

Blok reportéra#
([] :: custom-switch)

Blok Reporter může obsahovat kód Pythonu, který vrací hodnotu.

Blok reportéru s kódem v Pythonu, který vrací hodnotu#
([drivetrain.get_rotation()] :: custom-switch)

Matematické operátory lze použít v bloku Reporter:

  • Sčítání: +

  • Odčítání: -

  • Divize: /

  • Násobení: *

Blok reportéru s přídavkem Pythonu#
([drivetrain.get_heading() + 45] :: custom-switch)
Po spuštění vytiskne rotaci hnacího ústrojí během otáčení robota.#
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
otočit [vpravo v] o [450] stupňů ◀ a nečekat
navždy
vymazat všechny řádky
tisk ([drivetrain.get_rotation()] :: custom-switch) ▶
čekat [0.1] sekund
konec

Čepice#

Blok Hat poskytuje prostor pro definování funkce Pythonu. Bloky připojené pod blok Hat se stanou tělem této funkce.

Kloboukový blok#
[] :: hat custom-switch

Do bloku Hat zadejte definici funkce Pythonu. Parametry se uvádějí v závorkách. Pokud funkce parametry nepoužívá, použijte prázdné závorky.

Blok Hat s definicí funkce v Pythonu#
[def function_name(parameter):] :: hat custom-switch
Po spuštění použije blok Hat k definování a volání funkce.#
[def drive_400():] :: hat custom-switch
[Build Used: Code Base 2.0]
[Create a function to drive the robot forward.]
jet [dopředu v] na (400) [mm v] ▶

při spuštění :: hat events
[drive_400()] :: custom-switch