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.

İşlemler — Gelen mesajları gönder veya sakla.

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 muhabiri engelleme#
(son mesaj)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Robot 1

Ekrana basıldığında, Robot 2’ye bir mesaj gönderir.#
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şlatıldığında, kaydedilen en son mesajı görüntüler.#
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 muhabiri bloğu#
(son veri)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Robot 1

Başlatıldığında, Robot 1’in yönünü sürekli olarak Robot 2’ye gönderir.#
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şlatıldığında, en son kaydedilen verilerle eşleşecek şekilde ayarlanır.#
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? Mantıksal blok#
<mesaj mevcut mu?>

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Robot 1

Ekrana basıldığında, Robot 2’ye bir mesaj gönderir.#
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şlatıldığında, Robot 1 bir mesaj gönderdiğinde bir mesaj görüntüler.#
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ı? Mantıksal blok#
<bağlı mı?>

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Başlatıldığında, robotun bağlı olup olmadığını gösterir.#
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ğlantılı robot adı muhabir bloğu#
(bağlı robot adı)

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Başlatıldığında, bağlantılı robotun adını görüntüler.#
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.

mesaj yığını bloğunu gönder#
[message] mesajını gönder

Parametre

Tanım

mesaj

Bağlantılı robota gönderilecek metin.

Örnek

Robot 1

Ekrana basıldığında, Robot 2’ye bir mesaj gönderir.#
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şlatıldığında, Robot 1 tarafından gönderilen mesajı görüntüler.#
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.

Veri yığını bloğu içeren mesaj gönder#
[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şlatıldığında, Robot 1’in yönünü sürekli olarak Robot 2’ye gönderir.#
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şlatıldığında, Robot 1 tarafından gönderilen yöne uyacak şekilde döner.#
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.

En son mesaj yığını bloğunu al#
son mesajı al

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Robot 1

Ekrana basıldığında, Robot 2’ye bir mesaj gönderir.#
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şlatıldığında, Robot 1 tarafından gönderilen mesajı saklar ve görüntüler.#
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.

Veri yığını bloğuyla en son mesajı alın#
verili son mesajı al

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Robot 1

Başlatıldığında, Robot 1’in yönünü sürekli olarak Robot 2’ye gönderir.#
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şlatıldığında, mesaj verilerini depolar ve Robot 1’in yönüne uyacak şekilde döner.#
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