Kapcsoló#
Bevezetés#
A Switch blokkok segítenek a diákoknak a blokkalapú kódolásról a szövegalapú kódolásra való átállásban. A Switch blokkok segítségével a diákok közvetlenül egy blokkprojekten belül gépelhetnek Python kódot – parancsokat, feltételeket, értékeket vagy függvénydefiníciókat írhatnak –, miközben a projekt többi részét továbbra is blokkokkal építik fel. Az egyes blokkok átalakíthatók a nekik megfelelő Python parancsokká is.
A Python parancsok, metódusok és operátorok begépelésének megtanulásához lásd a VEX AIM Python API leírást.
Mivel a Switch blokkok Python kódot tartalmaznak, a helyesírásnak, az írásjeleknek és a behúzásnak helyesnek kell lennie ahhoz, hogy a projekt a várt módon fusson.
Az alábbiakban felsoroljuk az összes kapcsolóblokkot:
Blokkok váltása — Python kód hozzáadása egy Blocks projekthez.
Stack — Helyet biztosít a többi veremblokkkal sorban futó Python parancsok beírásához.
C blokk — Szóközt biztosít Python vezérlőkód beírásához, például
if,while, vagyforutasítások.C Bővíthető — Helyet biztosít több ágból álló Python vezérlőkód beírására, például
if,elifvagyelse.Boolean — Szóközt biztosít Python kód beírásához, amely
True-et ad vissza (True vagy 2). vagyFalse-et.Jelentő — Helyet biztosít egy értéket visszaadó Python kód beírásához.
Hat — Helyet biztosít egy Python függvény definiálásához.
Stack#
A Stack blokk helyet biztosít olyan Python parancsok begépelésére, amelyek más veremblokkokkal sorban futnak.
[] :: custom-switch
Egy Stack blokk egy vagy több sornyi Python kódot tartalmazhat.
amikor elindul
[Move forward 400 mm.]
[robot.move_for(400, 0)] :: custom-switch
C tömb#
A C blokk helyet biztosít Python vezérlőkód beírására, például if, while, vagy for utasítások esetén. A C blokkon belül elhelyezett blokkok a Python vezérlőszerkezetének részeként futnak.
if [] :: custom-switch
vége
A C blokkban használható Python vezérlőkód a következőket tartalmazza:
amikor elindul
[Continuously turn right until the screen is pressed.]
fordulás [jobbra v]
örökre
if [if robot.screen.pressing():] :: custom-switch
[Screen was pressed!] nyomtatása a képernyőn ▶
összes mozgás leállítása
vége
vége
C Bővíthető#
A C Expandable blokk helyet biztosít több ággal rendelkező Python vezérlőkód beírására, például if, elifvagy else. További ágak a plusz nyíl kiválasztásával adhatók hozzá.
if [] :: custom-switch-expand
vége
A C Expandable blokkban használható Python vezérlőkód a következőket tartalmazza:
amikor elindul
[Continuously move forward until the robot has a sports ball.]
örökre
if [if robot.has_sports_ball():] :: custom-switch-expand
[Sports ball found!] nyomtatása a képernyőn ▶
összes mozgás leállítása
else [else:]
mozgás [előre v]
vége
vége
Logikai#
A Boolean blokk helyet biztosít Python kód beírására, amely True vagy Falseértéket ad vissza. Hexagonális bemenettel rendelkező blokkokba helyezhető.
<[] :: custom-switch>
Egy Boolean blokk tartalmazhat Python feltételt.
<[robot.screen.pressing()] :: custom-switch>
Egy Boolean blokk logikai operátorokat is használhat:
<[robot.screen.pressing() and robot.has_sports_ball()] :: custom-switch>
Egy Boolean blokk összehasonlító operátorokat használhat az értékek összehasonlítására:
Nagyobb, mint:
>Kevesebb, mint:
<Egyenlő:
==Egyéb összehasonlító operátorok közé tartozik a
<=,!=és>=
<[robot.inertial.get_heading()> 100] :: custom-switch>
amikor elindul
[Continuously turn right until the screen is pressed.]
fordulás [jobbra v]
örökre
ha <[robot.screen.pressing()] :: custom-switch> akkor
[Screen was pressed!] nyomtatása a képernyőn ▶
összes mozgás leállítása
vége
vége
Riporter#
A Reporter blokk helyet biztosít a visszaadott Python kód beírására. Kör alakú bemenetekkel rendelkező blokkokba helyezhető.
([] :: custom-switch)
Egy Reporter blokk tartalmazhat Python kódot, amely egy értéket ad vissza.
([robot.inertial.get_heading()] :: custom-switch)
Matematikai operátorok használhatók egy Jelentő blokkban:
([robot.inertial.get_heading() + 45] :: custom-switch)
amikor elindul
[Print the robot's heading plus 45 degrees.]
([robot.inertial.get_heading() + 45] :: custom-switch) nyomtatása a képernyőn ▶
Kalap#
A Hat blokk teret biztosít egy Python függvény definiálására. A Hat alá csatolt blokkok a függvény törzsét alkotják.
[] :: hat custom-switch
Írj be egy Python függvénydefiníciót a Hat blokkba. A paraméterek zárójelek közé kerülnek. Ha a függvény nem használ paramétereket, használj üres zárójeleket.
[def function_name(parameter):] :: hat custom-switch
[def move_400():] :: hat custom-switch
[Define a custom function using a Hat block.]
mozgás [előre v] irányba (400) [mm v] értékkel ▶
amikor elindul
[move_400()] :: custom-switch