Kısa cevap: Scratch'te elma toplama oyunu iki kukla ve iki değişkenle yapılır. Sepet, "sürekli tekrarla" içinde sağ ve sol ok tuşlarıyla hareket eder. Elma, rastgele bir yerden düşmeye başlar. Sepete değerse "puan" bir artar, yere düşerse "kaçan" bir artar. İki durumda da elma tekrar yukarıdan düşer. Üç elma kaçınca oyun biter ve puan ekranda yazar. Aşağıdaki kodlar ve indirilebilir proje dosyası Scratch'in kendi motorunda denendi.
Bu oyun, labirent oyunundan sonra iyi bir ikinci proje. Labirentte öğrenci koordinatı, döngüyü ve koşulu görmüştü. Elma toplamada bunlara değişken ve rastgele sayı ekleniyor. İkisi de ilk kez burada gerçek bir işe yarıyor: puan tutmak ve elmanın her seferinde başka yerden düşmesi.
Başlamadan önce
- Scratch ücretsiz. Scratch'in kendi SSS sayfasına göre okulda ya da evde kullanmak için lisans gerekmez.
- Hesap şart değil. Projeyi Dosya menüsündeki Bilgisayarına kaydet ile dosya olarak saklayabilirsiniz. Hesap yalnızca projeyi Scratch sitesine kaydetmek ve paylaşmak için gerekiyor.
- İnternet yoksa: Scratch uygulaması bilgisayara indirilip çevrim dışı kullanılabiliyor.
- Süre: İki ders saati. Birinci derste kuklalar, sepet hareketi ve düşen elma, ikinci derste puan, kaçan ve oyun sonu.
- Eksi sayılar: Sepetin sola gidişi, elmanın düşüşü ve yer sınırı eksi sayılarla yazılıyor. Matematik programında tam sayılar 7. sınıfta geliyor. 5-6. sınıfta eksiyi sayı olarak değil yön olarak anlatın: sağa ve yukarıya artı, sola ve aşağıya eksi. -5'i "5 adım aşağı" diye okuyun.
1. Kuklaları ve dekoru hazırlayın

Sağ alttaki Bir Kukla Seç düğmesinden kütüphaneyi açın ve Yiyecek kategorisinden iki kukla ekleyin: elma için Apple, sepet için Bowl. Kütüphanedeki kukla adları İngilizce geliyor. Kukla bilgisindeki İsim kutusundan adlarını Elma ve Sepet yapın. Bu küçük adım önemli. Elmanın koduna yazacağınız "değiyor mu?" bloğunun menüsünde kuklalar bu adlarla görünecek.
Dekor için Bir Dekor Seç ile kütüphaneden bir gökyüzü seçebilir ya da sahneyi seçip Dekorlar sekmesinde kendiniz çizebilirsiniz. Örnekte açık mavi bir gökyüzü ve altta yeşil bir çimen şeridi var.
Scratch sahnesi 480 x 360 boyutunda. Yatayda x -240 ile 240, dikeyde y -180 ile 180 arasında. Sepet altta (y: -150), elma üstte (y: 170) başlayacak. Ortadan aşağısı eksi, yukarısı artı.
2. Değişkenleri oluşturun
Değişkenler bölümünde Bir Değişken Oluştur düğmesine basın. Açılan Yeni Değişken penceresinde adı puan yazın ve Tüm kuklalar için seçeneği seçili olsun. Scratch bu pencereyi her açılışta bu seçenekle getirir. Aynı şekilde kaçan adında ikinci bir değişken oluşturun.
Değişkeni öğrenciye "üstünde adı yazan bir kutu" diye anlatın. Kutunun içine bir sayı koyuyoruz, oyun boyunca bu sayıyı değiştiriyoruz. İki değişkenin yanındaki kutu işaretli kalsın. Sahnenin sol üstünde puanı ve kaçan elma sayısını gösterirler. Öğrenci kodun ne yaptığını bu sayılardan izler.
3. Sepeti ok tuşlarıyla hareket ettirin

Bu kodu Sepet kuklasına yazın. Sepet yalnızca sağa sola gidiyor, bu yüzden sadece x konumu değişiyor. Sağ artı, sol eksi yön.
Labirent oyunundaki gibi burada da "tuşuna basılınca" bloğu yerine "sürekli tekrarla" içinde "tuşuna basıldı mı?" sorusu kullanılıyor. Tuş basılı tutulunca sepet kesik kesik değil, akıcı kayar. Adım 8, elma 5 adımla düştüğü için sepet elmaya yetişebiliyor. Sepet daha yavaş olursa oyun gereksiz zorlaşır.
4. Elmayı rastgele bir yerden düşürün

Bu kodu Elma kuklasına yazın. Oyun her başladığında iki değişken sıfırlanıyor. Sonra elma sahnenin üstüne, yatayda rastgele bir yere gidiyor. -220 ile 220 arası, sahnenin sol kenarından sağ kenarına kadar demek. Elma döngü içinde her seferinde 5 adım aşağı iniyor.
"rastgele bir sayı seç" bloğu Operatörler bölümünde. Onu "konumuna git" bloğundaki x kutusunun içine sürükleyin. Rastgele sayı olmazsa elma hep aynı yerden düşer, oyuncu sepeti oraya koyup bekler ve oyun bir dakikada sıkıcı olur.
Bu adımdan sonra elma bir kez düşer ve sahnenin dibinde kalır. Ders burada bitecekse döngüye şimdilik tek bir blok ekleyin: "eğer y konumu < -170 ise" içinde, elmayı tekrar yukarıya gönderen "konumuna git" bloğu. Böylece öğrenci derse sürekli düşen bir elmayla ara verir. 6. adımda bu bloğa kaçan sayacı eklenir.
5. Sepete değince puan kazansın

Bu bloğu elmanın "sürekli tekrarla" döngüsünün içine, "y konumunu -5 değiştir"in altına ekleyin. "e değiyor mu?" bloğu Algılama bölümünde, menüsünden Sepet'i seçin.
Puan arttıktan hemen sonra elmanın yukarı gönderilmesi şart. Bu satır olmazsa elma sepetin içinden geçerken birkaç tur boyunca sepete değmeye devam eder ve tek elma için puan birden çok kez artar. Öğrencilerin en sık düştüğü hata bu.
6. Yere düşerse kaçan sayısı artsın

Bu bloğu da döngüye ekleyin. 4. adımın sonunda "eğer y konumu < -170 ise" bloğunu eklediyseniz yalnızca içine "kaçan i 1 kadar değiştir" koyun. "y konumu" elmanın o anki yüksekliği. Elma -170'in altına indiyse sepet onu kaçırmış demektir.
Sınır olarak -170 iyi bir değer. Daha aşağı bir sayı, örneğin -200 seçmeyin. Scratch bir kuklanın tamamen sahneden çıkmasına izin vermiyor, bir parçasını hep sahnede tutuyor. Elma o kadar aşağı inemez, kaçan sayısı hiç artmaz ve elma sahnenin dibinde takılı kalır.
7. Üç elma kaçınca oyun bitsin

Son bloğu da döngüye ekleyin. "birleştir" bloğu yazıyla değişkeni yan yana koyuyor. "Puanın:" yazısının sonunda bir boşluk bırakın, yoksa ekranda "Puanın:12" diye bitişik görünür.
"durdur tümü" bütün kodları durdurur ve konuşma balonlarını da siler. Bu yüzden burada süresiz "de" bloğu değil, "2 saniye boyunca ... de" bloğu kullanılıyor. Balon iki saniye ekranda kalır, sonra oyun durur.
Kodun tamamı

Sepet kuklasının kodu 3. adımdaki koddur. Elmanın kodunun tamamı yukarıda.
Hazır proje dosyası: elma-toplama.sb3. Scratch'te Dosya menüsünden bilgisayardan yükleme seçeneğiyle açabilirsiniz. Bu seçeneğin Türkçe çevirisi henüz yok, menüde İngilizce "Load from your computer" yazısını görebilirsiniz. Dosyada bu yazıdaki kodun aynısı ve kendi çizdiğimiz elma, sepet ve dekor var. Biz bu dosyayı Scratch'in proje motorunda çalıştırıp iki durumu denedik. Sepet ok tuşlarıyla elmanın altına sürüldüğünde puan 14'e çıktı ve hiç elma kaçmadı. Sonra tuşlar bırakıldı ve sepet olduğu yerde kaldı. Rastgele düşen elmalardan üçü sepetin içine denk gelip puanı 17'ye çıkardı, üçü yere düştü. Ekranda "Oyun bitti! Puanın: 17" yazdı ve oyun durdu.
Öğrencilere hazır dosyayı başta vermeyin. Önce kendileri yapsın, takılan öğrenci kendi koduyla hazır dosyayı yan yana karşılaştırsın.
Sık yapılan hatalar
| Belirti | Olası sebep | Çözüm |
|---|---|---|
| Ok tuşları hiçbir şey yapmıyor | Bayrağa tıklanmamış ya da bloklar "yeşil bayrağa tıklandığında" bloğundan kopmuş | Bayrağa tıklayın. Kopuk blokları sürükleyip bayrak bloğunun altına yapıştırın |
| Bayrak tıklı ama sepet ok tuşlarıyla gitmiyor | Klavye bir blok kutusunda kalmış. Bir sayı yazdıktan sonra ok tuşları o kutunun içinde kalıyor | Sahneye bir kez tıklayın, sonra ok tuşlarına basın |
| Bir elma yakalanınca puan birden çok artıyor | Puan arttıktan sonra elma yukarı gönderilmemiş | "puan i 1 kadar değiştir"in altına "konumuna git" bloğunu ekleyin |
| Elma yere düşüp orada kalıyor, kaçan artmıyor | Yer sınırı çok aşağıda (örneğin -200) | Sınırı -170 yapın. Scratch kuklayı tamamen sahneden çıkarmaz |
| Elma düşmüyor, bir yerde duruyor | "y konumunu -5 değiştir" yerine "y konumunu -5 yap" seçilmiş | "değiştir" bloğunu kullanın. "yap" elmayı bir kez o yüksekliğe koyar, "değiştir" her turda biraz indirir |
| Puan hep 1 kalıyor | "puan i 1 kadar değiştir" yerine "puan değişkenini 1 yap" seçilmiş | "kadar değiştir" bloğunu kullanın |
| Elma hep aynı yerden düşüyor | x kutusuna sabit sayı yazılmış | x kutusuna "rastgele bir sayı seç" bloğunu koyun |
| Yeni oyunda puan eski oyundan devam ediyor | Bayrak bloğunun altında sıfırlama yok | Oyun başında "puan değişkenini 0 yap" ve "kaçan değişkenini 0 yap" olsun |
| Değişkenlerde iki "puan" var, sahnedeki sayı artmıyor | Değişken iki kez oluşturulmuş (biri "Puan", biri "puan" ya da biri bir kuklaya özel) | Fazlasını silin, kodda kalan değişkenin seçili olduğuna bakın |
| Üç elma kaçınca oyun bitmiyor | "kaçan = 3" bloğu döngünün dışında kalmış | Oyun sonu bloğunu "sürekli tekrarla"nın içine alın |
| Oyun çok kolay ya da sepet elmayı hep kaçırıyor | Kütüphaneden gelen kuklalar çok büyük ya da çok küçük | Kukla bilgisinden Büyüklük değerini değiştirin. Sepet elmadan biraz büyük kalsın |
| "değiyor mu?" menüsünde Sepet yok | Kukla adı hâlâ Bowl | Kukla bilgisinden adı Sepet yapın ya da menüden Bowl'u seçin |
| Sepetin kodunda puan değişkeni görünmüyor | Değişken "Sadece bu kukla için" seçilerek elmada oluşturulmuş | Değişkeni silip Tüm kuklalar için seçeneğiyle yeniden oluşturun |
| "Oyun bitti" yazısı hiç görünmüyor | "2 saniye boyunca ... de" yerine "... de" kullanılmış | "durdur tümü" balonu da siler. Süreli "de" bloğunu kullanın |
Hata ayıklarken sahnedeki puan ve kaçan sayılarına birlikte bakın. "Elmayı yakaladın, puan kaç arttı?" sorusu çoğu hatayı birkaç saniyede ortaya çıkarıyor.
Oyunu geliştirme fikirleri
Temel oyunu bitiren öğrenciler için zorluk sırasıyla:
- Fareyle oynansın. Sepetin döngüsündeki iki "eğer" yerine tek blok koyun: "x konumunu (farenin x i) yap". Sepet fareyi izler. Dokunmatik ekranlarda parmakla oynamak da kolaylaşır. Sepeti büyütürseniz y konumunu biraz yukarı alın, yoksa elma sepete değmeden yer sınırını geçebilir.
- Süreli oyun yapın. 30 saniye sınırı koyun: "eğer zamanlayıcı > 30 ise" bloğu oyunu bitirsin. Yeşil bayrak zamanlayıcıyı zaten sıfırlıyor. "kaçan = 3" bloğunu silerseniz oyun yalnızca süreyle biter. Bırakırsanız hangisi önce gelirse oyun onunla biter.
- Rekor tutun. "rekor" değişkeni ile en yüksek puanı saklayın. Oyun bittiğinde puan rekordan büyükse rekoru puan yapın. Rekoru bayrak bloğunda sıfırlamayın, yoksa her oyunda silinir. Scratch değişkenin son değerini projeyle birlikte kaydeder. Rekorun kalması için proje oyundan sonra yeniden kaydedilmeli.
- Çürük elma ekleyin. Kahverengi bir elma kuklası ekleyin, sepete değerse puan bir azalsın. Puan sıfırın altına inmesin diye kural "puan > 0 ise bir azalt" olsun. Öğrencilerin çoğu çürük elmayı Elma kuklasını çoğaltarak yapar ve kod da kopyalanır. Çürük elmanın kodundan değişkenleri sıfırlayan, kaçanı artıran ve oyunu bitiren blokları silin. Yoksa çürük elmayı kaçırmak da kaçan sayısını artırır ve oyunu erken bitirebilir.
- Elma gittikçe hızlansın. "hız" adında bir değişken oluşturun, oyun başında 5 yapın. Düşme bloğunda -5 yerine "0 - hız" kullanın ve öğrenciye "hız kadar aşağı" diye okuyun. Her beş yakalamada hızı 1 artırın. Bir sınır koyun: örnek projede sepet 8 adım gidiyor ve hız 6'yı geçince sahnenin öbür kenarına düşen elmaya yetişemiyor. Hızı artırırken sepetin adımını da büyütün ya da hıza bir üst sınır koyun.
Sınıfta nasıl kullanılır?
Ders başlamadan bilgisayarlar açık ve Scratch yüklü olsun. Laboratuvarda açılış 5-10 dakika sürebiliyor ve bu süre plandan gider.
Birinci ders (40 dk):
- Oyunu tahtada bir kez oynayın ve öğrencilere sorun: "Bu oyunda bilgisayarın aklında tutması gereken sayılar neler?" Cevaplar puan ve kaçan elma sayısına çıkar. Değişkenin ne olduğunu bu soruyla tanıtın (7 dk).
- Kuklaları ekleyip adlarını değiştirsinler, değişkenleri oluştursunlar (10 dk).
- Sepetin hareket kodunu ve elmanın düşme kodunu yazsınlar (15 dk).
- Elma dipte kalmasın diye 4. adımın sonundaki "yukarıdan tekrar düşsün" bloğunu eklesinler (5 dk).
- Projeyi kaydetsinler (3 dk).
İkinci ders (40 dk):
- Projelerini Dosya menüsünden bilgisayardan yükleme seçeneğiyle açsınlar (3 dk).
- Yakalama, kaçırma ve oyun sonu bloklarını eklesinler (25 dk). Sık yapılan hatalar tablosunu ders başında yansıtın ya da çıktı olarak dağıtın, takılan öğrenci önce tabloya baksın.
- Sıra arkadaşları birbirinin oyununu oynasın, en yüksek puanı tahtaya yazsın. Erken bitiren geliştirme fikirlerine geçsin (12 dk).
Okul laboratuvarlarının çoğunda bilgisayar kapanınca masaüstü ve indirilen dosyalar silinir. İki ders arasında proje kaybolmasın diye birinci dersin sonunda Dosya menüsünden Bilgisayarına kaydet ile kaydettirin. Dosya adı öğrencinin adı olsun (örneğin elma-ayse.sb3), yeri sizin gösterdiğiniz klasör ya da bir USB bellek.
Rastgele sayıyı ilk kez görenler için küçük bir deneme işe yarar: "rastgele bir sayı seç" bloğuna tek başına birkaç kez tıklatın. Her tıklamada başka bir sayı çıktığını görmek, elmanın neden her seferinde başka yerden düştüğünü açıklar.
Sıkça sorulan sorular
Scratch elma toplama oyunu hangi sınıfa uygun? Ortaokul 5-6. sınıf için iki ders saatlik bir proje. Değişkenle ilk kez tanışan öğrenciler için uygun. Eksi sayıları okulda henüz görmemiş olmaları sorun değil, eksiyi "ters yön" diye anlatın. Daha önce labirent gibi bir hareket projesi yapmış olmaları işi kolaylaştırır.
Kütüphanede Apple ve Bowl kuklalarını bulamıyorum. Kukla seçme penceresinin üstündeki arama kutusuna "apple" ve "bowl" yazın. Başka bir meyve ya da kap da olur. Önemli olan, kod içindeki kukla adının menüde seçtiğiniz adla aynı olması.
Proje dosyası neden açılmıyor? Dosya Scratch 3 biçiminde (.sb3). Scratch'in eski 2.0 sürümünde açılmaz. Güncel Scratch sitesinde ya da Scratch uygulamasında Dosya menüsünden açın.
Öğrencilerin hesap açması gerekiyor mu? Hayır. Projeyi Bilgisayarına kaydet ile dosya olarak saklamak hesap gerektirmiyor. Hesap yalnızca projeyi Scratch sitesinde kaydetmek ve paylaşmak için gerekiyor.
Kaynaklar
- Scratch, Sıkça Sorulan Sorular (ücret ve lisans, çevrim dışı uygulama, hesap gereksinimi). scratch.mit.edu
- Scratch, uygulama indirme sayfası. scratch.mit.edu
- Scratch blok ve arayüz metinlerinin Türkçe çevirileri, scratch-l10n deposu. github.com
- Scratch arayüzü: kukla kütüphanesi listesi (Apple ve Bowl kuklaları, Yiyecek kategorisi) ve yazı kutusundayken klavye tuşlarının oyuna gitmemesi (scratch-gui). github.com
- MEB, Türkiye Yüzyılı Maarif Modeli Ortaokul Matematik Dersi Öğretim Programı, 2026 (tam sayılar 7. sınıf, MAT.7.1.1). tymm.meb.gov.tr
- Scratch proje motoru, yeşil bayrağın zamanlayıcıyı sıfırlaması ve "durdur tümü"nün konuşma balonlarını silmesi (scratch-vm). github.com
- Scratch çizim motoru, kuklanın bir parçasının sahnede tutulması (scratch-render). github.com
- Blok görselleri scratchblocks ile çizildi (MIT lisansı). github.com
Kaynaklara erişim: 8 Ekim 2026.