Kontrola#

Wstęp#

Bloki sterujące w VEXcode EXP 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.

bloku stosu oczekiwania#
czekaj (1) sekund

Parametry

Opis

czas

Czas oczekiwania, wyrażony jako dodatnia liczba całkowita lub ułamek dziesiętny w sekundach.

Przykład

Po uruchomieniu porusza się do przodu przez jedną sekundę, a następnie zatrzymuje się.#
gdy uruchomiony
[Move forward for one second, then stop.]
jedź [do przodu v]
czekaj (1) sekund
zatrzymaj jazdę

czekać aż#

Blok stosu wait until wstrzymuje wykonywanie bloków do momentu spełnienia określonego warunku przed przejściem do następnego bloku.

poczekaj, aż blok stosu#
czekaj dopóki <>

Parametry

Opis

stan

Warunek, który musi zostać spełniony przed przejściem do następnego bloku.

Przykład

Po uruchomieniu porusza się do przodu, aż do naciśnięcia przycisku ◀, a następnie zatrzymuje się.#
gdy uruchomiony
[Move forward until the ◀ button is pressed, then stop.]
jedź [do przodu v]
czekaj dopóki <przycisk [◀ v] Brain wciśnięty?>
zatrzymaj jazdę

powtarzać#

Blok powtórz C uruchamia bloki w nim zawarte ustaloną liczbę razy.

powtórz blok c#
powtórz [10]
koniec

Parametry

Opis

czasy

Liczba całkowita określająca, ile razy zostanie wykonany blok powtórz.

Przykład

gdy uruchomiony
[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ę.

blok C na zawsze#
zawsze
koniec

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Po uruchomieniu, ruch ten zaczyna się od kwadratowej ścieżki, która przebiega w pętli nieskończonej, po której ruch odbywa się o 50 mm do przodu i o 90 stopni.#
gdy uruchomiony
[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 do zablokowania#
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

Po uruchomieniu wszystkie diody LED świecą się na czerwono, aż do momentu naciśnięcia ekranu, a następnie wyłączają się.#
gdy uruchomiony
[Turn until the screen is pressed.]
powtarzaj dopóki <ekran wciśnięty?>
skręć [w prawo v]
koniec
zatrzymaj jazdę

chwila#

Blok while C uruchamia bloki wewnątrz wielokrotnie, dopóki spełniony jest określony warunek.

podczas gdy blok c#
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

Stos bloków rozpoczynający się blokiem „When Started”, po którym następuje blok komentarza z informacją „Wyświetl czas po upływie 2 sekund”. Blok „Wait until” wstrzymuje wykonywanie do momentu, aż timer osiągnie lub przekroczy dwie sekundy. Po spełnieniu tego warunku blok „Print” wyświetla wartość timera na ekranie.#
gdy uruchomiony
[Display the time for one minute.]
dopóki <(timer w sekundach) [math_less_than v] [60]>
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
wydrukuj (timer w sekundach) na ekranie ▶

Jeśli#

Blok if C uruchamia bloki wewnątrz, jeśli warunek ma wartość True.

jeśli blok#
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

Po uruchomieniu robot stale sprawdza, czy ekran jest naciśnięty. Jeśli tak, robot kopie obiekt ze średnią siłą.#
gdy uruchomiony
[Turn in a circle if the screen is pressed.]
zawsze
jeśli <ekran wciśnięty?> to
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 zablokuj#
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

jeśli to w przeciwnym razie zablokuj#
gdy uruchomiony
[Display a message if the screen is being pressed.]
zawsze
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
jeśli <ekran wciśnięty?> to
wydrukuj [Pressed!] na ekranie ▶
w przeciwnym razie
wydrukuj [Not pressed!] na ekranie ▶
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 inaczej jeśli inaczej blok#
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

jeśli to w przeciwnym razie zablokuj#
gdy uruchomiony
[Move the robot based on the Controller button is being pressed.]
zawsze
jeśli <[Controller1 v] przycisk [▶ v] wciśnięty?> to
skręć [w prawo v]
w przeciwnym razie jeśli <[Controller1 v] przycisk [◀ v] wciśnięty?> to
skręć [w lewo v]
w przeciwnym razie
zatrzymaj jazdę
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.

przerwać blok stosu#
przerwij

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Po uruchomieniu skręca w prawo do momentu naciśnięcia ekranu, a następnie zatrzymuje się.#
gdy uruchomiony
[Stop turning after the screen is pressed.]
zawsze
skręć [w prawo v]
jeśli <ekran wciśnięty?> to
przerwij
koniec
koniec
zatrzymaj jazdę

zatrzymaj projekt#

Blok stosu stop project kończy działający projekt.

zatrzymaj blok projektu#
zatrzymaj projekt

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Po uruchomieniu obraca się w prawo, aż do naciśnięcia ekranu, a następnie zatrzymuje projekt.#
gdy uruchomiony
[Stop the project entirely after the screen is pressed.]
zawsze
skręć [w prawo v]
jeśli <ekran wciśnięty?> to
zatrzymaj projekt
koniec
koniec