Ana içeriğe atla

Çoklu Görev Anlık Görüntüsü

VIQC Sanal Beceri Alanı üzerinde, Kahraman Robotun başlangıç ​​konumunu (0,0) orijin olarak kabul ederek bir koordinat sistemi oluşturun. [Sürüş Yönü] ve [Başlığa Dön] bloklarını, Kol Motorunu, Giriş Motorunu ve Tampon Anahtarı Sensörünü kullanarak Kahraman Robotu belirli konumlara götürecek, mavi bir Dağıtıcıdan tüm Diskleri çıkaracak, üç Diski alıp 4 Noktalı Hedef Bölgesine mümkün olan en hızlı şekilde fırlatacak bir algoritma oluşturun!

  • VIQC Sanal Beceriler - Slapshot Oyun Alanı'nı seçin.
  • Kahraman Robotu (60, 290) konumuna sürün, mavi Dağıtıcıya dönün ve içindeki tüm Diskleri çıkarın.
    • Dağıtıcıya vurduktan sonra Hero Bot'un kolunu indirirken bir sonraki konuma hareket etmesini sağlamak için spin ArmMotor bloğunun ve bekleme özelliğini kullanın.
  • Kahraman robotu (1000, 175) konumuna götürün.
  • Kahraman robotu, üç diski alıp 4 noktalı hedef bölgesine fırlatacak şekilde kodlayın.
    • Disk yüklenene kadar Giriş Motorunu döndürerek Kahraman Robotun hareket etmesini sağlamak için, yayın olayı kullanarak giriş işlemini tetikleyen bir algoritma oluşturun.
    • İki disk fırlatma işlemi arasında karşılıklı etkileşimi önlemek için, aktarma organı ve emme motorunun davranışlarını koordine etmek üzere bir değişken kullanan bir algoritma oluşturun.
    • Kahraman robotu (800, 300) konumuna geri sürün, bir disk alın ve 4 noktalı hedef bölgesine fırlatın.
    • Kahraman robotu (900, 500) konumuna geri sürün, bir disk alın ve 4 noktalı hedef bölgesine fırlatın.
    • Kahraman robotu (800, 575) konumuna geri sürün, bir disk alın ve 4 noktalı hedef bölgesine fırlatın.

Faydalı İpuçları

  • ve bekleme özelliği, ArmMotor bloğunun spin özelliği sayesinde, Arm Motor dönerken diğer blokların çalışmaya devam etmesini sağlar. Bu özelliği kullanmak için, genişletmek istediğiniz oku seçin ve beklemeyin.
    VEXcode Spin for block that read 'spin ArmMotor reverse for 90 degrees and don't wait'.
    • Eşleşen Python komutu:

      kol_motoru.dönme_için(TERS, 90, DERECE, bekle=Yanlış)
  • Giriş sürecini başlatmak için Etkinlikler kategorisindeki yayın bloğunu kullanın.
    VEXcode Yayın bloğu, 'yayın kontrolü' okuyor.
    • Eşleşen Python komutu:

      kontrol et.yayınla()
  • Olaylar kategorisinden aldığımda bloğunu kullanarak, tetiklenen mesaj alındığında ekli blok yığınını çalıştırın.
    VEXcode'da,' kontrolü aldığımda 'okunan bir blok alıyorum.
    • Eşleşen Python komutu:

      def OnEvent_check():
      	pass
      
      check = Event()
      check(OnEvent_check)