36. Hafta: Yazılımı Oluşturma – Koşul Yapısı ve Değişkenler

Geçen hafta Scratch'teki temel blok kategorilerini öğrendik ve karakterimizi hareket ettirdik. Bu hafta projemizi bir adım daha ileri taşıyoruz: Karakterimiz artık sadece hareket etmekle kalmayacak, karar da verecek ve puan sayacak!

📌 Kazanım:
BTY.5.6.4. Blok tabanlı ortamda yazılım geliştirme sürecini yönetebilme
c) Blok tabanlı ortamda yazılımı oluşturur.
⏱ Süre: 2 Ders Saati

🎯 Bu Konuda Neler Öğreneceğiz?

  • Koşul (eğer/değilse) yapısının ne olduğunu ve nasıl kullanıldığını öğreneceğiz.
  • Scratch’te “eğer … ise” bloğunu kullanmayı keşfedeceğiz.
  • Değişkenleri Scratch’te oluşturmayı ve güncellemeyi öğreneceğiz.
  • Sprites arası iletişimi mesaj yayınlama ile sağlamayı göreceğiz.
  • Tüm öğrendiklerimizi birleştirerek “Gökten Düşen Elmayı Topla” oyununu kodlayacağız.

🔀 Koşul Yapısı Nedir?

Programlar her zaman aynı şeyi yapmaz. Bazen bir duruma göre farklı kararlar vermeleri gerekir. İşte bu noktada koşul yapısı devreye girer.

Günlük hayattan bir örnek:

☀️ Hava durumu kararı:

Eğer hava yağmurluysa → şemsiye al
Değilse → şemsiyesiz çık

Programlamada da aynı mantık vardır. Bir koşulu kontrol eder, sonucuna göre farklı işlemler yaparız:

Günlük HayatProgramlamadaki Karşılığı
Eğer hava yağmurluysaEğer koşul doğruysa
Şemsiye alBu blokları çalıştır
Değilse şemsiyesiz çıkDeğilse şu blokları çalıştır

🟠 Scratch’te Koşul Blokları

Scratch’te koşul yapısı turuncu Kontrol bloklarıyla kurulur. İki farklı koşul bloğu vardır:

BlokNe Yapar?
🟠 eğer <koşul> iseKoşul doğruysa içindeki blokları çalıştırır. Yanlışsa hiçbir şey yapmaz.
🟠 eğer <koşul> ise … değilseKoşul doğruysa üstteki blokları, yanlışsa alttaki blokları çalıştırır.

Koşul bloğunun içine bir koşul ifadesi girilir. Bu ifade her zaman doğru veya yanlış sonuç verir. En çok kullandığımız koşul ifadeleri:

Koşul İfadesiNe Zaman Doğru?Örnek
🟢 [sprite1]’e değiyor mu?İki sprite birbirine değdiğindeElma → Sepete değiyor mu?
🟢 [tuş] tuşuna basıldı mı?O tuşa basılıykenSağ ok tuşuna basıldı mı?
🟢 puan > 10Puan 10’dan büyük olduğundaOyun kazanma koşulu
🟢 fareye basıldı mı?Fare tuşuna basılıykenTıklama ile kontrol

📌 Dikkat: Koşul ifadeleri (yeşil oval bloklar) Algılama ve Operatörler kategorilerinde bulunur. Bunları koşul bloğunun altıgen boşluğuna sürükleyip bırakırsın.


🟠 Scratch’te Değişken Oluşturma

Değişkeni daha önce teorik olarak öğrendik. Şimdi Scratch’te adım adım nasıl oluşturulduğunu görelim:

  1. Sol menüden Değişkenler kategorisine tıkla (turuncu).
  2. “Bir Değişken Oluştur” butonuna tıkla.
  3. Değişkene bir isim ver: örneğin puan
  4. “Tüm sprite’lar için” seçeneğini seç ve Tamam’a bas.
  5. Değişken artık sahnede görünür ve blok listesinde kullanılabilir hale gelir.

Değişkeni kodda kullanmak için bu bloklara ihtiyacın olacak:

BlokNe Yapar?
🟠 [puan] değişkenini [0] yapDeğişkenin değerini sıfırlar. Oyun başında kullan!
🟠 [puan] değişkenini [1] arttırDeğişkenin üzerine 1 ekler. Elma toplandığında kullan!
🟠 [puan] göster / gizleDeğişkenin değerini sahnede gösterir ya da gizler.

🍎 Etkinlik: “Gökten Düşen Elmayı Topla” Oyunu

Şimdi bu hafta öğrendiğimiz her şeyi bir araya getireceğiz! Koşul yapısı, değişken ve mesaj bloklarını kullanarak gerçek bir oyun kodlayacağız.

🎮 Oyunun Kuralları

  • Elmalar yukarıdan aşağıya doğru düşer.
  • Oyuncu sepeti sağ/sol ok tuşlarıyla hareket ettirir.
  • Elma sepete değdiğinde puan 1 artar ve elma yeniden tepeden düşer.
  • Elma yere düşerse puan değişmez, elma yeniden tepeden başlar.
  • Puan sahnede sürekli görünür.

📋 Tasarım: Olaylar Tablosu

SpriteEğer (Olay)Yap (Eylem)
🍎 ElmaYeşil bayrak tıklandığındapuan = 0, tepede rastgele konuma git, sürekli aşağı düş
🍎 ElmaSepete değiyor mu?puan 1 arttır, “yakalandı” sesi çal, yeniden tepeye git
🍎 ElmaSahnenin altına değiyor mu?Yeniden tepeye git (puan değişmez)
🧺 SepetYeşil bayrak tıklandığındaSahnenin altına, ortaya git
🧺 SepetSağ ok tuşuna basıldığında15 adım sağa git
🧺 SepetSol ok tuşuna basıldığında15 adım sola git

💻 Adım Adım Kodlama

🔧 Hazırlık

  1. scratch.mit.edu adresine git ve “Oluştur”‘a tıkla.
  2. Projeye isim ver: “Elma Toplama Oyunu”
  3. Varsayılan kediyi sil (üzerine sağ tıkla → sil).
  4. İki sprite ekle: Apple (Elma) ve Basket (Sepet) — Scratch kütüphanesinde ikisi de mevcut!
  5. puan adında bir değişken oluştur (Değişkenler → Bir Değişken Oluştur).
  6. Arkaplan olarak Blue Sky veya istediğin bir gökyüzü arka planı seç.

🍎 1. Elma Sprite’ının Kodları

Elma sprite’ını seç, sonra şu blokları ekle:

Yığın 1 — Oyun Başlangıcı ve Düşme:

💡 Rastgele sayı bloğu nerede? Sol menüde Operatörler (yeşil) kategorisinde “… ile … arasında rastgele sayı” bloğunu bulabilirsin. Elmanın her seferinde farklı bir yerden düşmesini sağlar!


🧺 2. Sepet Sprite’ının Kodları

Sepet sprite’ını seç, sonra şu üç yığını ekle:


▶️ 3. Oyunu Test Et

  1. Yeşil bayrağa tıkla.
  2. Elma yukarıdan düşüyor mu? ✅
  3. Ok tuşlarıyla sepet hareket ediyor mu? ✅
  4. Elma sepete değince puan artıyor mu? ✅
  5. Elma yere düşünce yeniden yukarıdan başlıyor mu? ✅

🐛 Sorun mu var? En sık karşılaşılan hatalar:

• Elma düşmüyor: y koordinatını değiştiren bloğun döngü içinde olduğundan emin ol.
• Puan artmıyor: Koşul bloğunun içinde “puan arttır” bloğu var mı kontrol et.
• Sepet hareket etmiyor: Kod bloğunun Sepet sprite’ında mı olduğunu kontrol et!


🌟 Oyunu Geliştir! (Ekstra Görevler)

Temel oyun çalışıyorsa bu geliştirmeleri dene:

  • ⚡ Elmayı daha hızlı düşür: y’yi -5 yerine -8 değiştir.
  • 🍊 İkinci bir meyve (portakal, çilek) ekle ve o da puan kazandırsın.
  • 🏆 Puan 10’a ulaşınca “Kazandın!” mesajı göster.
  • 🎵 Arka planda sürekli çalan bir müzik ekle.
  • ⏱ Geri sayım sayacı ekle: 30 saniye içinde kaç elma toplayabilirsin?

🔗 Bu Haftanın Büyük Resmi

Bu haftaki oyunda kullandığımız her yapıyı ve karşılığını bir tabloda görelim:

Öğrendiğimiz KavramOyunda Nerede Kullandık?
Koşul yapısı (eğer … ise)Elma sepete değdi mi? → puan arttır
Değişken (puan)Toplanan elma sayısını sakladı ve güncelledi
Döngü (sürekli tekrar et)Elmanın sürekli düşmesini sağladı
Rastgele sayıElmanın her seferinde farklı yerden düşmesini sağladı
Olay bloklarıTuş basımıyla sepeti kontrol ettik
Koordinat sistemiElmanın ve sepetin başlangıç konumlarını belirledik

🔁 Özet

Bu derste koşul yapısı ve değişkenleri Scratch’te kullanmayı öğrendik:

  1. Koşul yapısı programın bir durumu kontrol ederek farklı kararlar vermesini sağlar.
  2. Scratch’te “eğer … ise” ve “eğer … ise … değilse” bloklarıyla koşul kurulur.
  3. Değişkenler Scratch’te Değişkenler kategorisinden oluşturulur ve turuncu bloklarla kullanılır.
  4. Oyun başında değişken sıfırlanır, her başarılı eylemde arttırılır.
  5. Koşul + döngü + değişken bir arada kullanılınca gerçek oyunlar oluşur!

🌟 Unutma! Bugün kodladığın “Elma Toplama Oyunu” aslında gerçek oyun geliştirme mantığının ta kendisi: bir döngü, bir koşul, bir değişken. Büyük oyunlar da aynı yapı taşlarından inşa edilir!

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir