Ders Notları: KarelReference
Çözümlü Örnekler: Invert, UN Karel
Dosya: random_painter_karel.py

Problem

Karel, dünyasını çok siyah beyaz bulmaya başlıyor. Renkle doldurmasına yardım edin.

Boyama ve Rastgelelik

Karel'ın sakladığı birkaç komutu var. Üzerinde durduğu köşeyi şu yönergeyi kullanarak boyayabilir:

paint_corner(color)

Parantez içindeki değer, programlama dilleri terminolojisinde argüman (argument) olarak geçer ve burada aşağıdakilerden herhangi biri olabilir: RED, ORANGE, GREEN, CYAN, BLUE, MAGENTA, ve dahası. Yani paint_corner(RED) fonksiyonunu çağırarak Karel'ın üzerine bulunduğu köşeyi kırmızıya boyamasını sağlayabilirsiiz.

Daha sonra rastgelelik hakkında konuşacağız, ancak şimdilik iki renkten birini çizmek istediğimizi biliyoruz ve bunu Karel'da rastgele yapmamız gerekiyor. Karel yeni koşulu random(0.5), zamanın yarısında doğru (True) yarısında (False) dönüyor, ama tahmin edilemez bir şekilde. Bozuk para atmak gibi. Örneğin aşağıdaki kod:

if random(0.5):
    put_beeper()

eşit ihtimalle bir beeper yerleştirecek ya da yerleştirmeyecek.

will place a beeper (or will not) with equal probability. Diyelim ki 75% olasılıkla beeper yerleştirmek istiyorsunuz (50% yerine), bu durumda koşulu random(0.75) olarak değiştirebilirsiniz.

Ressam

Bu yeni yetenekleri, Karel'a bir dünyanın her bir köşesini rastgele iki renkten birisiyle boyatmak için kullanın. İstediğiniz iki rengi seçebilirsiniz, biz yeşil ve maviyi seçtik.

Aşağıda herhangi bir dünyayı rastgele yeşil ve maviye boyayan bir programın 10x10'luk bir dünya üzerindeki üçer adet çalışması var. Rastgele sonuç veren random koşulundan ötürü, her çalıştırmamızda yeşil ve mavi desenleri farklı olduğuna dikkat edin!

Her zaman olduğu gibi, çözümünüzü parçalara ayırmayı unutmayın! Programınız herhangi bir boyuttaki dünyada çalışmalı.