Kontrola#
Wstęp#
Bloki sterujące w VEXcode VR zarządzają przepływem projektu, obsługując pętle, warunki i opóźniając uruchomienie bloków.
Pętla to sytuacja, w której komputer powtarza ten sam krok lub grupę kroków w kółko, aż do momentu, gdy zostanie poproszony o zatrzymanie. Warunek to reguła, którą komputer sprawdza, aby zdecydować, co zrobić dalej. Na przykład robot może ruszyć do przodu, jeśli czujnik wykryje obiekt.
Poniżej znajduje się lista dostępnych bloków:
wait – Wstrzymuje uruchamianie bloków na określony czas.
czekaj, aż – Wstrzymuje wykonywanie bloków do momentu spełnienia określonego warunku.
powtórz – Powtarza zestaw bloków określoną liczbę razy.
forever – Powtarza zestaw bloków w nieskończoność.
powtarzaj aż – Powtarza zestaw bloków, aż zostanie spełniony warunek.
while – Powtarza zestaw bloków, dopóki warunek pozostaje prawdziwy.
if – uruchamia zestaw bloków, jeśli warunek jest prawdziwy.
if / else – uruchamia jeden zestaw bloków, jeśli warunek jest prawdziwy, w przeciwnym razie uruchamia inny.
if / else if / else – Uruchamia różne zestawy bloków w zależności od wielu warunków.
break – Natychmiast opuszcza pętlę repeat, forever, repeat until lub while.
zatrzymaj projekt – kończy projekt.
Czekać#
Blok stosu wait wstrzymuje wykonywanie bloków na określony czas przed przejściem do następnego bloku.
czekaj (1) sekund
Parametry |
Opis |
|---|---|
czas |
Czas oczekiwania, wyrażony jako dodatnia liczba całkowita lub ułamek dziesiętny w sekundach. |
Przykład
gdy uruchomiony :: hat events
[Move forward for one second, then stop.]
jedź [do przodu v]
czekaj (1) sekund
zatrzymaj jazdę
poczekaj aż#
Blok stosu wait until wstrzymuje wykonywanie bloków do momentu spełnienia określonego warunku przed przejściem do następnego bloku.
czekaj dopóki <>
Parametry |
Opis |
|---|---|
stan |
Warunek, który musi zostać spełniony przed przejściem do następnego bloku. |
Przykład
gdy uruchomiony :: hat events
[Move forward until a button is pressed, then stop.]
jedź [do przodu v]
czekaj dopóki <[LeftBumper v] wciśnięty?>
zatrzymaj jazdę
powtarzać#
Blok powtórz C uruchamia bloki w nim zawarte ustaloną liczbę razy.
powtórz [10]
koniec
Parametry |
Opis |
|---|---|
czasy |
Liczba całkowita określająca, ile razy zostanie wykonany blok powtórz. |
Przykład
gdy uruchomiony :: hat events
[Move in a square path.]
powtórz [4]
jedź [do przodu v] przez [150] [mm v] ▶
skręć [w prawo v] o [90] stopni ▶
koniec
na zawsze#
Wieczny blok C nieustannie uruchamia w kółko bloki w swoim wnętrzu, nie zatrzymując się.
zawsze
koniec
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Move in a square path forever.]
zawsze
jedź [do przodu v] przez [150] [mm v] ▶
skręć [w prawo v] o [90] stopni ▶
koniec
powtarzaj, aż#
Blok repeat until C wielokrotnie uruchamia znajdujące się w nim bloki, dopóki określony warunek nie zostanie spełniony.
powtarzaj dopóki <>
koniec
Parametry |
Opis |
|---|---|
stan |
Wyrażenie lub zmienna sprawdzana przed każdą pętlą. Jeśli ma wartość False, bloki są powtarzane. Jeśli ma wartość True, pętla się zatrzyma. |
Przykład
gdy uruchomiony :: hat events
[Move the pen until the bumper is pressed.]
jedź [do przodu v]
powtarzaj dopóki <[LeftBumper v] wciśnięty?>
przesuń pióro [w dół v]
czekaj (0.5) sekund
przesuń pióro [w górę v]
czekaj (0.5) sekund
koniec
czekaj (0.5) sekund
zatrzymaj jazdę
chwila#
Blok while C uruchamia bloki wewnątrz wielokrotnie, dopóki spełniony jest określony warunek.
dopóki <>
koniec
Parametry |
Opis |
|---|---|
stan |
Wyrażenie lub zmienna sprawdzana przed każdą pętlą. Jeśli ma wartość Prawda, bloki są powtarzane. Jeśli ma wartość Fałsz, pętla się zatrzyma. |
Przykład
gdy uruchomiony :: hat events
[Display a message while moving.]
jedź [do przodu v] przez [300] [mm v] ◀ i nie czekaj
dopóki <jazda w toku?>
wydrukuj [Moving...] ▶
czekaj (0.1) sekund
wyczyść wszystkie wiersze
koniec
wydrukuj [Done!] ▶
Jeśli#
Blok if C uruchamia bloki wewnątrz, jeśli warunek ma wartość True.
jeśli <> to
koniec
Parametry |
Opis |
|---|---|
stan |
Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Jeśli ma wartość True, bloki wewnątrz bloku if zostaną wykonane. Jeśli ma wartość False, bloki są pomijane. |
Przykład
gdy uruchomiony :: hat events
[Turn in a circle if the bumper is pressed.]
jedź [do przodu v]
zawsze
jeśli <[LeftBumper v] wciśnięty?> to
jedź [wstecz v] przez (200) [mm v] ▶
skręć [w prawo v] o (360) stopni ▶
koniec
zatrzymaj jazdę
koniec
jeśli / w przeciwnym razie#
Blok if / else C określa, który zestaw bloków zostanie uruchomiony, na podstawie tego, czy warunek ma wartość Prawda lub Fałsz.
jeśli <> to
w przeciwnym razie
koniec
Parametry |
Opis |
|---|---|
stan |
Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Jeśli ma wartość True, bloki wewnątrz bloku if zostaną wykonane. Jeśli ma wartość False, bloki wewnątrz bloku else zostaną wykonane. |
Przykład
gdy uruchomiony :: hat events
[If bumper pressed, reverse and turn right.]
zawsze
jeśli <[LeftBumper v] wciśnięty?> to
jedź [wstecz v] przez (100) [mm v] ▶
skręć [w prawo v] o (90) stopni ▶
w przeciwnym razie
jedź [do przodu v]
koniec
jeśli / w przeciwnym razie jeśli / w przeciwnym razie#
Blok rozszerzalny języka C if / else if / else wybiera, który zestaw bloków ma zostać uruchomiony na podstawie warunków:
if uruchamia blok kodu, jeśli warunek zostanie oceniony jako Prawda.
Instrukcja else if sprawdza dodatkowe warunki tylko wtedy, gdy wszystkie poprzednie warunki zostały ocenione jako Fałsz. Można użyć wielu instrukcji else if.
else uruchamia blok kodu tylko wtedy, gdy żaden z poprzednich warunków nie zostanie oceniony jako Prawda.
jeśli <> to
w przeciwnym razie jeśli <> to
w przeciwnym razie
koniec
Parametry |
Opis |
|---|---|
stan |
Wyrażenie lub zmienna sprawdzana podczas wykonywania instrukcji. Pierwszy warunek, który ma wartość Prawda, uruchamia dany zestaw bloków. Jeśli wszystkie warunki mają wartość Fałsz, bloki wewnątrz bloku W przeciwnym razie zostaną uruchomione. |
Przykład
gdy uruchomiony :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
zawsze
jeśli <[FrontEye v] wykrywa [czerwony v]?> to
skręć [w prawo v] o (90) stopni ▶
w przeciwnym razie jeśli <[FrontEye v] wykrywa [zielony v]?> to
skręć [w lewo v] o (90) stopni ▶
w przeciwnym razie
jedź [do przodu v]
koniec
koniec
przerwa#
Blok stosu break natychmiast opuszcza pętlę. Można go używać wewnątrz bloków repeat, repeat until, while i forever. Break jest przydatny, gdy pętla musi zostać wcześniej zatrzymana z powodu zdarzenia w projekcie, np. naciśnięcia przycisku lub wykrycia obiektu przez czujnik.
przerwij
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Stop turning after a button is pressed.]
zawsze
jedź [do przodu v]
jeśli <[LeftBumper v] wciśnięty?> to
przerwij
koniec
koniec
zatrzymaj jazdę
zatrzymaj projekt#
Blok stosu stop project kończy działający projekt.
zatrzymaj projekt
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Stop the project entirely after a button is pressed.]
zawsze
jedź [do przodu v]
jeśli <[LeftBumper v] wciśnięty?> to
zatrzymaj projekt
koniec
koniec