Mesaj#
giriiş#
İki VEX AIM Kodlama Robotu, bir proje sırasında iletişim kurabilmeleri için birbirine bağlanabilir. Mesaj blokları, bir robotun diğer robota mesaj göndermesine olanak tanır. Mesaj, yalnızca metin içerebileceği gibi, metin ve sayı da içerebilir.
Alınan mesajlar, ilk giren ilk çıkar (FIFO) kuyruğunda saklanır. Bu, alınan ilk mesajın okunacak ilk mesaj olduğu anlamına gelir.
Sonraki alınan mesajı saklamak için en son mesajı al bloğunu kullanın. Ardından saklanan metni okumak için en son mesaj raporlayıcı bloğunu kullanın. Mesaj ayrıca bir sayı içeriyorsa, her iki değeri de saklamak için veri içeren en son mesajı al bloğunu kullanın, ardından bunları okumak için en son mesaj ve en son veri bloklarını kullanın.
Not: Mesajların gönderilip alınabilmesi için her iki robotun da birbirine bağlı olması ve her iki robotun da Mesaj bloklarını kullanan projeler çalıştırıyor olması gerekir.
Aşağıda tüm blokların listesi bulunmaktadır:
Değerler — Mesaj bilgilerini okuyun veya mesaj ve bağlantı durumunu kontrol edin.
son mesaj — En son kaydedilen metin mesajını bildirir.
en son veriler — En son kaydedilen sayıyı bildirir.
mesaj mevcut mu? — Bir mesajın okunabilir olup olmadığını bildirir.
Bağlı mı? — Robotun başka bir robotla bağlantılı olup olmadığını bildirir.
bağlantılı robot adı — Bağlantılı robotun adını bildirir.
İşlemler — Gelen mesajları gönder veya sakla.
mesaj gönder — Bağlantılı robota metin gönderir.
veri içeren mesaj gönder — Bağlı robota metin ve bir sayı gönderir.
Son mesajı al — Alınan bir sonraki metin mesajını saklar.
Verilerle birlikte en son mesajı al — Alınan bir sonraki kısa mesajı ve numarayı saklar.
Değerler#
son mesaj#
Son mesaj raporlayıcı bloğu, en son kaydedilen metin mesajını rapor eder. Bu blok kendi başına yeni bir mesaj almaz. Önce son mesajı al veya verilerle birlikte son mesajı al kullanın, ardından kaydedilen metni görüntülemek veya başka bir blokta kullanmak için son mesajı kullanın.
(son mesaj)
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
Robot 1
ekran [basıldı v] olduğunda
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
ekranda [Robot 1] yazdır ▶
[Hello, Robot 2!] mesajını gönder
Robot 2
başladığında
[Code for Robot 2.]
[Display the message Robot 1 sends.]
ekranda [Robot 2] yazdır ▶
ekranda imleci sonraki satıra taşı
<mesaj mevcut mu?> olana kadar bekle
son mesajı al
ekranda (son mesaj) yazdır ▶
son veriler#
En son veriler raporlayıcı bloğu, veri içeren bir mesajdan en son kaydedilen sayıyı rapor eder. Bu blok kendi başına yeni bir sayı almaz. Önce veri içeren en son mesajı al kullanın, ardından en son verileri sürüş mesafesi, dönüş yönü veya hız değeri gibi başka bir blokta kullanın.
(son veri)
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
Robot 1
başladığında
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
ekranda [Robot 1] yazdır ▶
sonsuza kadar
[heading] mesajını (yön derece cinsinden) verisiyle gönder
son
Robot 2
başladığında
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
ekranda [Robot 2] yazdır ▶
sonsuza kadar
eğer <mesaj mevcut mu?> ise
verili son mesajı al
(son veri) derece yönüne dön ▶
son
son
Mesaj gönderilebiliyor mu?#
Mesaj mevcut mu? Boolean bloğu, mesaj kuyruğunda bir mesaj bekleyip beklemediğini bildirir. Bu bloğu en son mesajı al veya veri içeren en son mesajı al komutlarından önce kullanın, böylece alıcı robot yalnızca bir mesaj geldikten sonra bir mesajı saklamaya çalışır.
Doğru — Okunabilecek bir mesaj mevcut.
Yanlış — Okunacak mesaj bulunmamaktadır.
<mesaj mevcut mu?>
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
Robot 1
ekran [basıldı v] olduğunda
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
ekranda [Robot 1] yazdır ▶
[message] mesajını gönder
Robot 2
başladığında
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
ekranda [Robot 2] yazdır ▶
ekranda imleci sonraki satıra taşı
<mesaj mevcut mu?> olana kadar bekle
ekranda [Received!] yazdır ▶
Bağlantılı mı?#
Bağlı mı? Boolean bloğu, robotun başka bir robotla bağlantılı olup olmadığını bildirir. Projenin robotlar arası bağlantının hazır olup olmadığını kontrol etmesi gerekiyorsa, mesaj göndermeden veya mesaj beklemeden önce bu bloğu kullanın.
Doğru — Robot başka bir robotla bağlantılı.
Yanlış — Robot başka bir robotla bağlantılı değil.
<bağlı mı?>
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
başladığında
[Turn off one of the linked robots to see the message change.]
sonsuza kadar
ekranı temizle
ekranda <bağlı mı?> yazdır ▶
son
bağlantılı robot adı#
Bağlantılı robot adı rapor bloğu, bağlantılı robotun adını rapor eder. Mesaj göndermeden veya almadan önce hangi robotun bağlı olduğunu göstermek için bu bloğu kullanın. Hiçbir robot bağlı değilse, bu blok Yok olarak rapor eder.
(bağlı robot adı)
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
başladığında
[Display the name of the robot that is linked.]
ekranda (bağlı robot adı) yazdır ▶
Eylemler#
mesaj gönder#
Mesaj gönder yığın bloğu, bağlantılı robota metin gönderir. Diğer robotun bir komut, sinyal veya kısa bir bilgi parçası alması gerektiğinde bu bloğu bir robotta kullanın. Alıcı robotta, bir mesajın gelip gelmediğini kontrol etmek için mesaj mevcut mu? kullanın, ardından en son mesajı al kullanın ve en son mesaj ile okuyun.
[message] mesajını gönder
Parametre |
Tanım |
|---|---|
mesaj |
Bağlantılı robota gönderilecek metin. |
Örnek
Robot 1
ekran [basıldı v] olduğunda
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
ekranda [Robot 1] yazdır ▶
[Hello, Robot 2!] mesajını gönder
Robot 2
başladığında
[Code for Robot 2.]
[Display the message Robot 1 sends.]
ekranda [Robot 2] yazdır ▶
ekranda imleci sonraki satıra taşı
<mesaj mevcut mu?> olana kadar bekle
son mesajı al
ekranda (son mesaj) yazdır ▶
Veri içeren mesaj gönder#
Veri içeren mesaj gönder yığın bloğu, bağlantılı robota metin ve bir sayı gönderir. Mesajın etiket ve sayıya ihtiyacı olduğunda, örneğin robotun mevcut yön değeriyle yön göndermek gibi durumlarda bu bloğu kullanın. Alıcı robotta, bir mesajın gelip gelmediğini kontrol etmek için mesaj mevcut mu? kullanın, ardından en son mesajı veriyle al kullanın ve metni en son mesaj ve sayıyı en son veri ile okuyun.
[message] mesajını [0] verisiyle gönder
Parametre |
Tanım |
|---|---|
mesaj |
Bağlantılı robota gönderilecek metin. |
veri |
Mesajla birlikte gönderilecek numara. |
Örnek
Robot 1
başladığında
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
ekranda [Robot 1] yazdır ▶
sonsuza kadar
[heading] mesajını (yön derece cinsinden) verisiyle gönder
son
Robot 2
başladığında
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
ekranda [Robot 2] yazdır ▶
sonsuza kadar
eğer <mesaj mevcut mu?> ise
verili son mesajı al
(son veri) derece yönüne dön ▶
son
son
En son mesajı al#
En son mesajı al yığın bloğu, mesaj kuyruğundan alınan bir sonraki metin mesajını alır ve projenin kullanabilmesi için saklar. Bu bloğu, mesaj mevcut mu? Doğru değerini bildirdikten sonra ve en son mesaj kullanılmadan önce kullanın. Bu, alıcı robotun mesajı görüntülemeye, karşılaştırmaya veya başka bir blokta kullanmaya çalışmadan önce kaydetmesine yardımcı olur.
Diğer robotta yalnızca metin içeren bir mesaj göndermek için mesaj gönder komutunu kullanın.
son mesajı al
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
Robot 1
ekran [basıldı v] olduğunda
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
ekranda [Robot 1] yazdır ▶
[Hello, Robot 2!] mesajını gönder
Robot 2
başladığında
[Code for Robot 2.]
[Display the message Robot 1 sends.]
ekranda [Robot 2] yazdır ▶
ekranda imleci sonraki satıra taşı
<mesaj mevcut mu?> olana kadar bekle
son mesajı al
ekranda (son mesaj) yazdır ▶
Verilerle birlikte en son mesajı alın#
Veri içeren en son mesajı al yığın bloğu, mesaj kuyruğundan alınan bir sonraki mesajı alır ve hem metin mesajını hem de onunla birlikte gönderilen sayıyı saklar. Bu bloğu, mesaj mevcut mu? Doğru değerini bildirdikten sonra ve en son mesaj veya en son veri kullanılmadan önce kullanın. Bu, alıcı robotun, örneğin başka bir robotun gönderdiği bir yöne dönmeden önce, her iki değeri de kaydetmesine yardımcı olur.
Metni ve sayıyı birlikte göndermek için diğer robotta veri içeren mesaj gönder kullanın.
verili son mesajı al
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
Robot 1
başladığında
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
ekranda [Robot 1] yazdır ▶
sonsuza kadar
[heading] mesajını (yön derece cinsinden) verisiyle gönder
son
Robot 2
başladığında
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
ekranda [Robot 2] yazdır ▶
sonsuza kadar
eğer <mesaj mevcut mu?> ise
verili son mesajı al
(son veri) derece yönüne dön ▶
son
son