Wiadomość#

Wstęp#

Dwa roboty VEX AIM Coding Robots można połączyć, aby umożliwić im komunikację podczas projektu. Bloki wiadomości pozwalają jednemu robotowi wysłać wiadomość do drugiego. Wiadomość może zawierać tekst lub tekst z liczbą.

Otrzymane wiadomości są przechowywane w kolejce FIFO (pierwszy wszedł, pierwszy wyszedł). Oznacza to, że pierwsza otrzymana wiadomość jest pierwszą, która zostanie odczytana.

Użyj bloku pobierz najnowszą wiadomość, aby zapisać kolejną otrzymaną wiadomość. Następnie użyj bloku reportera najnowsza wiadomość, aby odczytać zapisany tekst. Jeśli wiadomość zawiera również liczbę, użyj bloku pobierz najnowszą wiadomość z danymi, aby zapisać obie wartości, a następnie użyj bloków najnowsza wiadomość i najnowsze dane, aby je odczytać.

Uwaga: Aby wiadomości mogły być wysyłane i odbierane, oba roboty muszą być połączone i oba muszą uruchamiać projekty wykorzystujące bloki wiadomości.

Poniżej znajduje się lista wszystkich bloków:

Wartości — Odczytaj informacje o wiadomości lub sprawdź status wiadomości i połączenia.

Akcje — wysyłanie lub przechowywanie otrzymanych wiadomości.

Wartości#

najnowsza wiadomość#

Blok raportujący najnowszą wiadomość raportuje ostatnio zapisaną wiadomość tekstową. Ten blok sam w sobie nie pobiera nowej wiadomości. Najpierw użyj pobierz najnowszą wiadomość lub pobierz najnowszą wiadomość z danymi, a następnie użyj najnowszej wiadomości, aby wyświetlić zapisany tekst lub użyj go w innym bloku.

najnowszy blok reportera wiadomości#
(ostatnia wiadomość)

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Robot 1

Po naciśnięciu ekranu wysyła wiadomość do Robota 2.#
gdy ekran [wciśnięty v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
wydrukuj [Robot 1] na ekranie ▶
wyślij wiadomość [Hello, Robot 2!]

Robot 2

Po uruchomieniu wyświetla ostatnią zapisaną wiadomość.#
gdy uruchomiony
[Code for Robot 2.]
[Display the message Robot 1 sends.]
wydrukuj [Robot 2] na ekranie ▶
ustaw kursor na następny wiersz na ekranie
czekaj dopóki <wiadomość dostępna?>
pobierz ostatnią wiadomość
wydrukuj (ostatnia wiadomość) na ekranie ▶

najnowsze dane#

Blok raportujący najnowsze dane raportuje ostatnio zapisany numer z wiadomości zawierającej dane. Ten blok sam w sobie nie pobiera nowego numeru. Najpierw użyj pobierz najnowszą wiadomość z danymi, a następnie użyj najnowszych danych w innym bloku, na przykład odległości przejazdu, kierunku skrętu lub wartości prędkości.

najnowszy blok reportera danych#
(ostatnie dane)

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Robot 1

Po uruchomieniu wysyła w sposób ciągły kierunek Robota 1 do Robota 2.#
gdy uruchomiony
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
wydrukuj [Robot 1] na ekranie ▶
zawsze
wyślij wiadomość [heading] z danymi (kurs w stopniach)
koniec

Robot 2

Po uruchomieniu następuje dopasowanie ostatnio zapisanych danych.#
gdy uruchomiony
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
wydrukuj [Robot 2] na ekranie ▶
zawsze
jeśli <wiadomość dostępna?> to
pobierz ostatnią wiadomość z danymi
skręć do kursu (ostatnie dane) stopni ▶
koniec
koniec

Czy wiadomość jest dostępna?#

Blok logiczny czy wiadomość jest dostępna? informuje, czy wiadomość czeka w kolejce wiadomości. Użyj tego bloku przed pobierz najnowszą wiadomość lub pobierz najnowszą wiadomość z danymi, aby robot odbierający spróbował zapisać wiadomość dopiero po jej otrzymaniu.

  • Prawda — Wiadomość jest dostępna do odczytania.

  • Fałsz — Nie ma żadnych wiadomości dostępnych do odczytania.

Czy wiadomość jest dostępna? Blok logiczny#
<wiadomość dostępna?>

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Robot 1

Po naciśnięciu ekranu wysyła wiadomość do Robota 2.#
gdy ekran [wciśnięty v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
wydrukuj [Robot 1] na ekranie ▶
wyślij wiadomość [message]

Robot 2

Po uruchomieniu wyświetla komunikat, gdy Robot 1 wysyła wiadomość.#
gdy uruchomiony
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
wydrukuj [Robot 2] na ekranie ▶
ustaw kursor na następny wiersz na ekranie
czekaj dopóki <wiadomość dostępna?>
wydrukuj [Received!] na ekranie ▶

jest połączony?#

Blok logiczny „jest połączony?” informuje, czy robot jest połączony z innym robotem. Użyj tego bloku przed wysłaniem wiadomości lub oczekiwaniem na nie, jeśli projekt musi sprawdzić, czy połączenie między robotami jest gotowe.

  • Prawda — Robot jest powiązany z innym robotem.

  • Fałsz — Robot nie jest połączony z innym robotem.

jest połączony? Blok boolowski#
<połączony?>

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Po uruchomieniu wyświetla informację, czy robot jest połączony.#
gdy uruchomiony
[Turn off one of the linked robots to see the message change.]
zawsze
wyczyść ekran
wydrukuj <połączony?> na ekranie ▶
koniec

powiązana nazwa robota#

Blok raportujący nazwę połączonego robota raportuje nazwę połączonego robota. Użyj tego bloku, aby wyświetlić, który robot jest połączony przed wysłaniem lub odebraniem wiadomości. Jeśli żaden robot nie jest połączony, ten blok raportuje Brak.

połączony blok raportujący nazwę robota#
(nazwa połączonego robota)

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Po uruchomieniu wyświetla nazwę powiązanego robota.#
gdy uruchomiony
[Display the name of the robot that is linked.]
wydrukuj (nazwa połączonego robota) na ekranie ▶

Akcje#

wyślij wiadomość#

Blok stosu wyślij wiadomość wysyła tekst do połączonego robota. Użyj tego bloku na jednym robocie, gdy drugi robot potrzebuje odebrać polecenie, sygnał lub krótką informację. Na robocie odbierającym użyj czy wiadomość jest dostępna?, aby sprawdzić, czy wiadomość dotarła, a następnie użyj pobierz najnowszą wiadomość, zanim odczytasz ją za pomocą najnowsza wiadomość.

wyślij blok stosu wiadomości#
wyślij wiadomość [message]

Parametr

Opis

wiadomość

Tekst, który należy wysłać do powiązanego robota.

Przykład

Robot 1

Po naciśnięciu ekranu wysyła wiadomość do Robota 2.#
gdy ekran [wciśnięty v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
wydrukuj [Robot 1] na ekranie ▶
wyślij wiadomość [Hello, Robot 2!]

Robot 2

Po uruchomieniu wyświetla wiadomość wysłaną przez Robota 1.#
gdy uruchomiony
[Code for Robot 2.]
[Display the message Robot 1 sends.]
wydrukuj [Robot 2] na ekranie ▶
ustaw kursor na następny wiersz na ekranie
czekaj dopóki <wiadomość dostępna?>
pobierz ostatnią wiadomość
wydrukuj (ostatnia wiadomość) na ekranie ▶

wyślij wiadomość z danymi#

Blok stosu wyślij wiadomość z danymi wysyła tekst i liczbę do powiązanego robota. Użyj tego bloku, gdy wiadomość wymaga etykiety i liczby, na przykład wysyłając nagłówek z bieżącą wartością nagłówka robota. Na robocie odbierającym użyj czy wiadomość jest dostępna?, aby sprawdzić, czy wiadomość dotarła, a następnie użyj pobierz najnowszą wiadomość z danymi przed odczytaniem tekstu z najnowszą wiadomością i liczby z najnowszymi danymi.

wyślij wiadomość z blokiem stosu danych#
wyślij wiadomość [message] z danymi [0]

Parametr

Opis

wiadomość

Tekst, który należy wysłać do powiązanego robota.

dane

Numer, który należy wysłać w wiadomości.

Przykład

Robot 1

Po uruchomieniu wysyła w sposób ciągły kierunek Robota 1 do Robota 2.#
gdy uruchomiony
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
wydrukuj [Robot 1] na ekranie ▶
zawsze
wyślij wiadomość [heading] z danymi (kurs w stopniach)
koniec

Robot 2

Po uruchomieniu zmienia się w kierunku zgodnym z nagłówkiem wysłanym przez Robota 1.#
gdy uruchomiony
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
wydrukuj [Robot 2] na ekranie ▶
zawsze
jeśli <wiadomość dostępna?> to
pobierz ostatnią wiadomość z danymi
skręć do kursu (ostatnie dane) stopni ▶
koniec
koniec

otrzymaj najnowszą wiadomość#

Blok stosu pobierz najnowszą wiadomość pobiera kolejną odebraną wiadomość tekstową z kolejki wiadomości i zapisuje ją, aby projekt mógł z niej skorzystać. Użyj tego bloku po zgłoszeniu Prawda przez czy wiadomość jest dostępna? i przed użyciem najnowszej wiadomości. Pomaga to robotowi odbierającemu zapisać wiadomość przed próbą jej wyświetlenia, porównania lub użycia w innym bloku.

Użyj wyślij wiadomość na drugim robocie, aby wysłać wiadomość zawierającą wyłącznie tekst.

pobierz najnowszy blok stosu wiadomości#
pobierz ostatnią wiadomość

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Robot 1

Po naciśnięciu ekranu wysyła wiadomość do Robota 2.#
gdy ekran [wciśnięty v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
wydrukuj [Robot 1] na ekranie ▶
wyślij wiadomość [Hello, Robot 2!]

Robot 2

Po uruchomieniu przechowuje i wyświetla wiadomość wysłaną przez Robota 1.#
gdy uruchomiony
[Code for Robot 2.]
[Display the message Robot 1 sends.]
wydrukuj [Robot 2] na ekranie ▶
ustaw kursor na następny wiersz na ekranie
czekaj dopóki <wiadomość dostępna?>
pobierz ostatnią wiadomość
wydrukuj (ostatnia wiadomość) na ekranie ▶

pobierz najnowszą wiadomość z danymi#

Blok stosu pobierz najnowszą wiadomość z danymi pobiera kolejną odebraną wiadomość z kolejki wiadomości i przechowuje obie jej części: wiadomość tekstową i numer wysłany z nią. Użyj tego bloku po zgłoszeniu Prawda przez czy wiadomość jest dostępna? i przed użyciem najnowszej wiadomości lub najnowszych danych. Pomaga to robotowi odbierającemu zapisać obie wartości przed ich użyciem, np. po przejściu do nagłówka wysłanego przez innego robota.

Użyj wyślij wiadomość z danymi na drugim robocie, aby wysłać tekst i liczbę razem.

pobierz najnowszą wiadomość z blokiem stosu danych#
pobierz ostatnią wiadomość z danymi

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

Robot 1

Po uruchomieniu wysyła w sposób ciągły kierunek Robota 1 do Robota 2.#
gdy uruchomiony
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
wydrukuj [Robot 1] na ekranie ▶
zawsze
wyślij wiadomość [heading] z danymi (kurs w stopniach)
koniec

Robot 2

Po uruchomieniu zapisuje dane wiadomości i zmienia kierunek zgodnie z nagłówkiem Robota 1.#
gdy uruchomiony
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
wydrukuj [Robot 2] na ekranie ▶
zawsze
jeśli <wiadomość dostępna?> to
pobierz ostatnią wiadomość z danymi
skręć do kursu (ostatnie dane) stopni ▶
koniec
koniec