Rastgele Yürüyüş (Random Walk)
Random walker, en temel hareket simülasyonudur. Her adımda rastgele bir yön seçer ve o yönde hareket eder. Basit görünse de, birçok doğal olayı (molekül hareketi, hayvan göçleri) modeller!
💡 Neden Random Walker ile Başlıyoruz?
Random walker, OOP (nesne yönelimli programlama), animasyon döngüsü (setup/draw) ve rastgelelik kavramlarını tek bir örnekte birleştirir. Mükemmel bir başlangıç noktası!
Walker Sınıfı (The Walker Class)
Bir Walker sınıfı oluşturalım. Bu nesne:
- Bir konuma (x, y) sahip
- Her frame'de rastgele bir yöne hareket eder
- Kendini ekrana çizer
Satır Satır Açıklama:
random(-1, 1) -1 ile 1 arasında rastgele ondalık sayı üretir.
Her frame'de x ve y bu kadar değişir.
point() fonksiyonu
tek nokta çizer.
4 Yönlü Walker (Traditional Random Walk)
Klasik random walk sadece 4 yöne gider: yukarı, aşağı, sola, sağa.
floor(random(4)) ile 0, 1, 2 veya 3 seçeriz:
random() ve floor():
🔬 Deneyin:
- step() içinde: Adım boyutunu 5 yapın (1 yerine) Beklenti: Daha büyük adımlar, daha hızlı yayılma
- Çapraz ekleyin: 8 yönlü hareket için case 4-7 ekleyin Beklenti: Daha organik görünüm
Olasılığı Değiştirme (Biased Random Walk)
Ya walker'ın sağa gitme olasılığı daha yüksek olsun istiyorsak? Eşit olmayan olasılıklar kullanabiliriz:
Olasılık Dağılımı:
Fareye Doğru Eğilimli Walker (Walker Towards Mouse)
Walker'a %50 olasılıkla fareye doğru gitme eğilimi verelim:
🎮 Akıllı Rastgelelik
Tamamen rastgele değil, ama tamamen öngörülebilir de değil! Bu tür "biased randomness" oyunlarda düşman AI'ları için sıkça kullanılır.
📝 Bu Bölümün Özeti
- Random Walker: Her adımda rastgele yön seçen nesne
- random(min, max): min-max arası rastgele ondalık sayı
- floor(): Aşağı yuvarlama (tam sayı elde etmek için)
- Biased walk: Eşit olmayan olasılıklarla yönlendirme
- OOP: Walker sınıfı ile nesne yönelimli tasarım