Kontrollera#
Introduktion#
Kontrollblocken i VEXcode VR hanterar flödet i ett projekt genom att hantera loopar, villkor och fördröja blockkörning.
En loop är när en dator upprepar samma steg eller grupp av steg om och om igen tills den får en uppmaning att stanna. Ett villkor är en regel som datorn kontrollerar för att bestämma vad den ska göra härnäst. Till exempel kan en robot röra sig framåt om en sensor detekterar ett objekt.
Nedan följer en lista över tillgängliga block:
vänta – Pausar block från att köras under en viss tid.
vänta tills – Pausar block från att köras tills ett angivet villkor är uppfyllt.
upprepa – Upprepar en uppsättning block ett visst antal gånger.
för alltid – Upprepar en uppsättning block i all oändlighet.
upprepa tills – Upprepar en uppsättning block tills ett villkor är uppfyllt.
medan – Upprepar en uppsättning block medan ett villkor förblir sant.
if – Kör en uppsättning block om ett villkor är sant.
if / else – Kör en uppsättning block om ett villkor är sant, annars körs en annan.
if / else if / else – Kör olika uppsättningar block beroende på flera villkor.
break – Avslutar en repeat, forever, repeat until eller while loop omedelbart.
stoppa projekt – Avslutar projektet.
vänta#
Stackblocket vänta pausar block från att köras under en viss tid innan de går vidare till nästa block.
vänta (1) sekunder
Parametrar |
Beskrivning |
|---|---|
tid |
Väntetiden, som ett positivt heltal eller decimaltal i sekunder. |
Exempel
när startad :: hat events
[Move forward for one second, then stop.]
kör [framåt v]
vänta (1) sekunder
stoppa körning
vänta tills#
Stackblocket vänta tills pausar block från att köras tills ett angivet villkor är uppfyllt innan nästa block går vidare.
vänta tills <>
Parametrar |
Beskrivning |
|---|---|
skick |
Villkoret som måste vara uppfyllt innan man går vidare till nästa block. |
Exempel
när startad :: hat events
[Move forward until a button is pressed, then stop.]
kör [framåt v]
vänta tills <[LeftBumper v] tryckt?>
stoppa körning
upprepa#
Repeat C-blocket kör blocken inuti det ett visst antal gånger.
upprepa [10]
avsluta
Parametrar |
Beskrivning |
|---|---|
gånger |
Ett heltal som anger hur många gånger upprepningsblocket körs. |
Exempel
när startad :: hat events
[Move in a square path.]
upprepa [4]
kör [framåt v] i [150] [mm v] ▶
sväng [höger v] i [90] grader ▶
avsluta
evigt#
Det för eviga C-blocket fortsätter att köra blocken inuti det om och om igen utan att stanna.
för alltid
avsluta
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad :: hat events
[Move in a square path forever.]
för alltid
kör [framåt v] i [150] [mm v] ▶
sväng [höger v] i [90] grader ▶
avsluta
upprepa tills#
C-blocket upprepa tills kör blocken inuti det upprepade gånger medan det angivna villkoret inte är uppfyllt.
upprepa tills <>
avsluta
Parametrar |
Beskrivning |
|---|---|
skick |
Ett uttryck eller en variabel som kontrolleras före varje loop. Om den är Falskt fortsätter blocken att upprepas. Om den är Sant stoppas loopen. |
Exempel
när startad :: hat events
[Move the pen until the bumper is pressed.]
kör [framåt v]
upprepa tills <[LeftBumper v] tryckt?>
flytta pennan [ner v]
vänta (0.5) sekunder
flytta pennan [upp v]
vänta (0.5) sekunder
avsluta
vänta (0.5) sekunder
stoppa körning
medan#
while C-blocket kör blocken inuti upprepade gånger medan det angivna villkoret är uppfyllt.
medan <>
avsluta
Parametrar |
Beskrivning |
|---|---|
skick |
Ett uttryck eller en variabel som kontrolleras före varje loop. Om den är Sant fortsätter blocken att upprepas. Om den är Falskt stoppas loopen. |
Exempel
när startad :: hat events
[Display a message while moving.]
kör [framåt v] i [300] [mm v] ◀ och vänta inte
medan <körning pågår?>
skriv ut [Moving...] ▶
vänta (0.1) sekunder
rensa alla rader
avsluta
skriv ut [Done!] ▶
om#
if C-blocket kör blocken inuti om villkoret är True.
om <> då
avsluta
Parametrar |
Beskrivning |
|---|---|
skick |
Ett uttryck eller en variabel som kontrolleras när satsen körs. Om den är Sant kommer blocken inuti if-blocket att köras. Om den är Falskt hoppas blocken över. |
Exempel
när startad :: hat events
[Turn in a circle if the bumper is pressed.]
kör [framåt v]
för alltid
om <[LeftBumper v] tryckt?> då
kör [bakåt v] i (200) [mm v] ▶
sväng [höger v] i (360) grader ▶
avsluta
stoppa körning
avsluta
om / annars#
C-blocket if / else avgör vilken uppsättning block som körs baserat på om villkoret är True eller False.
om <> då
annars
avsluta
Parametrar |
Beskrivning |
|---|---|
skick |
Ett uttryck eller en variabel som kontrolleras när satsen körs. Om den är Sant kommer blocken inuti if-blocket att köras. Om den är False kommer blocken inuti else-blocket att köras. |
Exempel
när startad :: hat events
[If bumper pressed, reverse and turn right.]
för alltid
om <[LeftBumper v] tryckt?> då
kör [bakåt v] i (100) [mm v] ▶
sväng [höger v] i (90) grader ▶
annars
kör [framåt v]
avsluta
om / annars om / annars#
Det expanderbara C-blocket if / else if / else väljer vilken uppsättning block som körs baserat på villkor:
if kör sitt kodblock om villkoret utvärderas som True.
else if kontrollerar ytterligare villkor endast om alla tidigare villkor utvärderas som Falskt. Flera else if-satser kan användas.
annars körs sitt kodblock endast om inget av de föregående villkoren utvärderas som Sant.
om <> då
annars om <> då
annars
avsluta
Parametrar |
Beskrivning |
|---|---|
skick |
Ett uttryck eller en variabel som kontrolleras när satsen körs. Det första villkoret som är Sant kör den uppsättningen block. Om alla villkor utvärderas som Falskt kommer blocken inuti annars-blocket att köras. |
Exempel
när startad :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
för alltid
om <[FrontEye v] detekterar [röd v]?> då
sväng [höger v] i (90) grader ▶
annars om <[FrontEye v] detekterar [grön v]?> då
sväng [vänster v] i (90) grader ▶
annars
kör [framåt v]
avsluta
avsluta
bryta#
Stackblocket break avslutar en loop omedelbart. Detta block kan användas inuti blocken repeat, repeat until, while och forever. Break är användbart när en loop behöver stoppas i förtid baserat på något som händer under projektet, som att en knapp trycks ner eller att en sensor detekterar ett objekt.
bryt
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad :: hat events
[Stop turning after a button is pressed.]
för alltid
kör [framåt v]
om <[LeftBumper v] tryckt?> då
bryt
avsluta
avsluta
stoppa körning
stoppa projektet#
Stackblocket stoppa projektet avslutar ett pågående projekt.
stoppa projekt
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad :: hat events
[Stop the project entirely after a button is pressed.]
för alltid
kör [framåt v]
om <[LeftBumper v] tryckt?> då
stoppa projekt
avsluta
avsluta