Ana içeriğe atla

Minos'un Labirenti

Zorluk: Yunan mitolojisinde Kral Minos'un son derece ayrıntılı bir şekilde tasarlanmış bir labirenti vardı. Labirentin içinde canavar Minotaur saklanıyordu. Kahraman Theseus, Minotaur ile konuşmak için gönüllü olarak içeri girdi. Labirentin kıvrımlı geçitlerinde yolunu bir ip yumağı kullanarak işaretledi. Böylece ipi takip ederek labirentin girişine kolayca ulaşabilirdi. Bu etkinlikte, VR Robotunu Başlangıç ​​Konumundan (yeşil kare) Bitiş Konumuna (kırmızı kare) götürmek için bir algoritma oluşturacak ve VR Kalemi kullanarak Minos'un efsanevi labirentinin çözümünü Wall Maze+ Oyun Alanına kaydedeceksiniz.

  • Duvar Labirenti+ Oyun Alanı'nı seçin.
  •  .vrmaze dosyasını bu klasörden indirin ve labirenti Oyun Alanına yükleyin.
    • Wall Maze + Playground'da labirent yükleme ve indirme konusunda yardım için, bu makaleye bakın.
  •  VR Robotunu Başlangıç ​​Konumundan (yeşil kare) Bitiş Konumuna (kırmızı kare) sürüş yapacak şekilde kodlayın.
    • Ön Mesafe Sensörünü kullanarak, VR Robotun labirentte duvara çarpmadan hareket etmesini sağlayın.
    • Çıkış yönünü belirlemek için Sağ Mesafe Sensörünü kullanın.
    • VR robotun bitiş noktasına ulaşıp ulaşmadığını belirlemek için aşağı bakış sensörünü kullanarak kırmızı rengi kontrol edin.
    • [Sonsuza Kadar] bloğunu kullanarak VR robotunun labirentte hareket etmesini sağlayın ve robotu durdurmak için Aşağı Bakış Sensörünün sürekli olarak Bitiş Konumunu kontrol etmesini sağlayın.
  • VR Kalemi kullanarak hareket yolunu takip edin ve labirentin çözümünü kaydedin.
  • Minos Labirentini çözme stratejinizi açıklayan bir notu projenize ekleyin.

Faydalı İpuçları

  • VEXcode VR'deki VR MazeBot'un özellikleri hakkında dahabilgi için bu bakın. 
  •  Eye sensörünün belirli bir rengi algılayıp algılamadığını bildirmek Algılama kategorisindeki Down Eye algılama bloğunu kullanın.

    VEXcode Renk algılama bloğu 'değerini gösteriyor. DownEye kırmızıyı mı algılıyor?'.

    • Eşleşen Python komutu:
    aşağı_göz.algıla(KIRMIZI)

                 

  • VR robotunun duvara yaklaşıp yaklaşmadığını belirlemek için Ön Mesafe Sensörünü kullanın.
  • VR Robotun duvara yaklaşıp yaklaşmadığını belirlemek için, Operatörler kategorisindeki  küçük karşılaştırma bloğunu kullanarak VR Robot ile en yakın nesne arasındaki mesafenin bir eşik değerinden küçük olup olmadığını bildirin.

    VEXcode, 'FrontDistance in mm < 200' şeklinde okunan bir Distance from block içeren "Less than" bloğundan daha azını ifade eder.

    • Eşleşen Python komutu:
    ön_mesafe.mesafesi_al(MM) < 200
  • Çıkış yönünü belirlemek için Sağ Mesafe Sensörünü kullanın.
  • Çıkış yönünü belirlemek için VR Robotu ile en yakın nesne arasındaki mesafenin bir eşik değerinden büyük olup olmadığını bildirmek üzere Operatörler kategorisindeki Büyük karşılaştırma bloğunu kullanın.

    VEXcode, birlikte okunduğunda 'LeftDistance in mm > 300' olan bir bloktan daha büyük bir blok içerir.

    • Eşleşen Python komutu:
    sol_mesafe.mesafesi_al(MM) > 300
  • VR Robotun duvara yaklaşıp yaklaşmadığını kontrol etmek ve Boolean koşuluna bağlı olarak çeşitli davranışlar gerçekleştirmek için Kontrol kategorisindeki if then else bloğunu kullanın ve kodu çalıştırın.

    Eğer o zaman 'aksi halde 1 şeklinde okunan boş bir VEXcode "Eğer o zaman, aksi halde' bloğu.

    • Eşleşen Python komutu:

      Eğer koşul
      	ise geç
      , aksi halde
      	geç