Bloklarla Başlayan Kodlama
Bölüm
>
Seviye
Gelişmiş Listeler ve Veri Yapıları
Listeler Üzerinde Döngü
Amaç
Tüm alan malzemelerini toparlayın ve belirli konteynerlere yerleştirmeden önce toplanan öğelerin envanterini çıkarın.
Köprünün yanındaki karakolu bir fırtına harap etti ve malzemeler her yere dağılmış durumda, eminim bu malzemeler daha sonra kullanılabilir. Topladığın her bir nesnenin envanterini çıkar ve onları köprünün karşısındaki deposuna yerleştir.
Önce alandaki etrafa dağılmış tüm molozları topla; bunlar: "branches", "boulders" ve "planks". Tüm öğeleri topladıktan sonra, onları materials adında iç içe geçmiş bir liste yapısına (sözlük) yerleştir ve set dict value bloğunu kullanarak bu yapı içine üç (3) malzeme adını ve miktarlarını ekle.
Her şey iç içe geçmiş liste yapısına yerleştirildikten sonra, ışıklı X işaretine git ve for each in dictionary bloğu ile speak fonksiyonunu kullanarak topladığın tüm malzemelerin envanterini çıkar. Bu özel döngü bloğu, iç içe geçmiş liste yapıları (sözlükler) üzerinde iki değişken sağlayarak yineleme yapmanı sağlar: biri anahtar için (name), diğeri değer için (number).
name ve number değişkenleri ile birlikte materials sözlüğünü kullanarak for each in dictionary bloğunu kullan. Döngü içinde, text join bloğu ile "There were ", number değişkeni, " ", name değişkeni ve " collected" ifadelerini birleştirmek için speak bloğunu kullan.
Envanteri çıkardıktan sonra, koyu X işaretlerine doğru yürü ve topladığın malzemeleri iç içe geçmiş liste yapısı içinde konteynerlere yerleştir. Her malzemeye erişmek için get dict value bloğunu kullan, örneğin materials ile "branches" anahtarını al ve ardından bunu place bloğuna bağla. Üç (3) koyu X işareti vardır; sol konteynere "branches", orta konteynere "boulders" ve sağ konteynere "planks" yerleştir. Seviyeyi tamamlamak için her şeyi doğru konuma yerleştir.