2026 – 2027 Eğitim Dönemi erken kayıt dönemi başladı. Birebir eğitim programlarımız 21 Eylül 2026 tarihinde başlıyor.
Berk Akademi
Ana Sayfa

Scratch’te Puanın Sıfırlanmasını Önleme ve Doğru Oyun Akışı

scratch-puan-sifirlanmasi-dogru-baslangic-akisi
Bu yazıda neler var?
  1. Scratch’te puan hangi nedenlerle beklenmedik şekilde sıfırlanır?
  2. Yeşil bayrak ve puan değişkeni için doğru başlangıç düzeni
  3. Sahne değiştiğinde puanı korumak için kukla ve sahne sorumluluklarını ayırma
  4. Hatalı ve düzeltilmiş oyun akışını yan yana karşılaştırma
  5. Oyunu yeniden başlatma ve puan sıfırlanması için hata kontrol listesi
  6. Sık Sorulan Sorular

Scratch puan sıfırlanması çoğunlukla puanı 0 yapan bloğun yeşil bayrakla başlayan başlangıç akışı dışında yeniden çalıştırılmasından kaynaklanır. Aynı blok birden fazla kuklanın veya sahnenin kodunda bulunuyorsa puan; nesne yakalandığında, sahne değiştiğinde ya da başka bir olay tetiklendiğinde beklenmedik biçimde sıfırlanabilir.

Yeni oyun başlarken puanın 0 olması normaldir. Oyun devam ederken ise puan korunmalı ve yalnızca “değişkeni artır” bloğuyla değiştirilmelidir. Bu ayrımı yapmak, Scratch oyun akışındaki en önemli başlangıç kontrollerinden biridir.

Scratch’te puan hangi nedenlerle beklenmedik şekilde sıfırlanır?

Bir puan değişkeni, kendiliğinden sıfırlanmaz; onu değiştiren bir blok mutlaka vardır. Bu nedenle hata ayıklarken ilk soru “Puan neden sıfırlandı?” değil, “Puanı 0 yapan blok hangi olaydan sonra çalıştı?” olmalıdır.

En yaygın akış hatası, “puanı 0 yap” bloğunun yakalama olayının içine konulmasıdır. Örneğin oyuncu bir nesneye dokunduğunda önce puan 0 yapılır, ardından 1 artırılırsa ekranda her yakalamadan sonra puan sürekli 1 görünür. Oyuncu nesneyi beş kez yakalasa bile puan 5’e ulaşamaz.

Benzer bir sorun, puanı sıfırlayan başlangıç kodunun birden fazla yerde bulunmasıyla ortaya çıkar. Hem bir kuklanın hem de sahnenin “yeşil bayrak tıklandığında” akışında puan 0 yapılıyorsa başlangıçta bu durum genellikle sorun oluşturmaz. Ancak sahne geçişinde yeniden çalışan bir olay veya yanlış yerleştirilmiş bir mesaj, oyunun ortasında aynı bloğu tekrar tetikleyebilir.

Belirtiyi inceleyerek olası nedeni daraltabilirsiniz:

  • Oyunu başlatınca puan sıfırlanıyorsa: Başlangıç kodunda birden fazla “puanı 0 yap” bloğu olabilir. Bu her zaman hata değildir; önemli olan bloğun yalnızca yeni oyun başlarken çalışmasıdır.
  • Nesne yakalayınca puan sıfırlanıyorsa: “Puanı 0 yap” bloğu, nesneye dokunma veya benzeri yakalama olayının içine yerleştirilmiş olabilir.
  • Sahne değişince puan sıfırlanıyorsa: Yeni sahneye geçişle birlikte çalışan kodlar kontrol edilmelidir. Sahne değişimi, puanı sıfırlamak yerine yalnızca görüntüyü veya bölüm bilgisini değiştirmelidir.
  • Yeniden başlatınca puan sıfırlanmıyorsa: Yeşil bayrak akışında sıfırlama bloğu bulunmuyor olabilir. Ayrıca oyun yalnızca yeni sahneye geçiyor, yeni oyun başlangıcını temsil eden olay yeniden çalışmıyor olabilir.

Değişkenin hangi blok tarafından değiştirildiğini bulmak için önce puan değişkeninin kullanıldığı tüm kodları inceleyin. İlgili kuklaları tek tek seçin, ardından sahnenin kodlarını kontrol edin. “Puanı 0 yap”, “puanı 1 artır” ve benzeri değişken bloklarının hangi olayın altında bulunduğunu not etmek, akışın nerede bozulduğunu görmeyi kolaylaştırır.

Yeşil bayrak ve puan değişkeni için doğru başlangıç düzeni

Yeşil bayrak ve puan değişkeni için doğru başlangıç düzeni

Doğru düzende “değişkeni 0 yap” bloğu, yeni oyunun başlangıç değerini belirler. “Değişkeni artır” bloğu ise mevcut puanın üzerine ekleme yapar. Yani puanı 0 yapmak başlangıç işlemidir; puanı artırmak oyun sırasında gerçekleşen ödül işlemidir.

Yakalanan nesnelerle puan kazanılan basit bir mini oyun için akış şu şekilde kurulabilir:

Yeşil bayrak tıklandığında
  puanı 0 yap
  başlangıç sahnesine geç
  [oyun döngüsünü başlat] mesajını yayınla

[nesneye dokunulduğunda]
  puanı 1 artır
  nesneyi yeni konuma taşı

Scratch’te “oyun döngüsünü başlat” ifadesi, örneğin bir mesaj yayınlayıp başka bir kuklanın bu mesajı almasıyla temsil edilebilir. Buradaki temel amaç, başlangıç hazırlıklarını yakalama olayından ayırmaktır. Kod mantığını görsel bloklarla adım adım pekiştirmek isteyenler, programlama temellerini anlatan video eğitimlerden yararlanarak olayların hangi sırayla çalıştığını tekrar edebilir.

Bu akışın beklenen sonucu açıktır: Yeni oyun yeşil bayrakla başlatıldığında puan 0 olur; oyuncu nesneyi her yakaladığında puan 1 artar ve nesne yeni bir konuma taşınır. Örneğin ilk yakalamadan sonra puan 1, ikinci yakalamadan sonra 2, üçüncü yakalamadan sonra 3 görünmelidir.

“Puanı 0 yap” bloğunu nesneye dokunma olayının içine koyarsanız her yakalamada puan yeniden başlar. Ekranda puanın sürekli 1’de kalması, puanın hiç değişmemesi veya sahne geçişinden sonra 0 görünmesi bu hatanın güçlü belirtileridir. Doğru yerleşimde sıfırlama yalnızca yeni oyun başlangıcında; artırma ise puan kazandıran olayın içinde bulunur.

Sahne değiştiğinde puanı korumak için kukla ve sahne sorumluluklarını ayırma

Sahne değiştiğinde puanı korumak için kukla ve sahne sorumluluklarını ayırma

Sahne değiştirmek puanı kendiliğinden sıfırlamaz. Puanın kaybolmasının nedeni genellikle sahne değiştiğinde çalışan kodların içinde “puanı 0 yap” bloğunun bulunmasıdır. Bu nedenle oyun akışında üç işi birbirinden ayırmak gerekir: mevcut oyun durumunu korumak, yeni sahneyi hazırlamak ve tamamen yeni bir oyun başlatmak.

Örneğin birinci sahnede oyuncu yıldızları yakalayıp 5 puan kazandıysa, ikinci sahneye geçildiğinde puan değişkeni yine 5 olarak kalmalıdır. İkinci sahne yalnızca kendi arka planını, karakterlerini ve oynanış hazırlığını yapar. Yeni sahneye geçiş, otomatik olarak yeni oyun başlatmak anlamına gelmez.

Görevleri kuklalar ve sahne arasında paylaştırın

  • Başlangıç kodu: Yeşil bayrak tıklandığında puanı bir kez 0 yapar ve ilk sahneyi hazırlar.
  • Nesne kuklası: Oyuncu nesneyi yakaladığında “puanı 1 artır” gibi bir blok çalıştırır.
  • Sahne veya kontrol kuklası: Sahne değişimini yönetir ve gerektiğinde “yayınla” bloğuyla diğer kuklalara haber verir.
  • Yeni sahne: Yalnızca kendi görünümünü ve oynanış durumunu hazırlar; puanı yeniden 0 yapmaz.

Kuklalar arasındaki iletişim için “yayınla [İkinci Sahne]” ve “haberi alınca [İkinci Sahne]” akışı kullanılabilir. Böylece kontrol kuklası geçiş kararını verir, yeni sahnedeki kuklalar da kendi hazırlıklarını yapar. Bu haber akışının içinde puanı sıfırlayan bir blok bulunmamalıdır.

Yeşil bayrak tıklandığında
puanı 0 yap
sahneyi [Birinci Sahne] yap

[Oyuncu] bir nesneye değerse
puanı 1 artır

puan > 4 olursa
[İkinci Sahne] haberini sal

[İkinci Sahne] haberini alınca
kostümü veya görünümü hazırla
başlangıç konumuna git

Bu örnekte oyuncu birinci sahnede 5 puana ulaştığında ikinci sahneye geçer. Yeni sahneye ait hazırlık kodu çalışır; ancak puan değişkenine dokunulmadığı için ekranda 5 görünmeye devam eder.

Değişken oluştururken Scratch arayüzündeki “tüm kuklalar için” ve “yalnızca bu kukla için” seçeneklerine dikkat edin. Oyunun ortak puanını birden fazla kuklanın artırması veya kontrol etmesi gerekiyorsa, değişkenin oluşturulma kapsamını kontrol etmek önemlidir. Scratch’in değişkenler rehberinde genel oyun puanı gibi değerler için kapsam seçiminin nasıl yapıldığı gösterilir: Scratch Variables and Lists. Farklı kuklalarda aynı isimle görünen ancak yalnızca tek kuklaya ait değişkenler, beklenmeyen puan davranışlarına yol açabilir.

Sahnede “puanı 0 yap” bloğu varsa, bu blok yalnızca gerçekten yeni oyun başlatan olayla ilişkilendirilmelidir. “İkinci Sahne haberini alınca” gibi bir geçiş olayına eklenirse oyuncu sahne değiştirirken puanını kaybeder.

Hatalı ve düzeltilmiş oyun akışını yan yana karşılaştırma

Aynı mini oyunda iki farklı akışın sonucu şöyle görülebilir:

Hatalı akış Düzeltilmiş akış
Başlangıç: Yeşil bayrakta puan 0 yapılır; bu kısım doğrudur. Başlangıç: Yeşil bayrakta puan yalnızca bir kez 0 yapılır.
Nesne yakalama: Nesneye değince önce puan 0 yapılır, sonra 1 artırılır. Oyuncu puanı sürekli 1 görür. Nesne yakalama: Nesneye değince yalnızca puan 1 artırılır.
Sahne değişimi: Yeni sahne hazırlanırken puan tekrar 0 yapılır. Birinci sahnedeki puan kaybolur. Sahne değişimi: Haber yayınlanır; yeni sahne görünümünü ve kuklalarını hazırlar, puana dokunmaz.
Yeniden başlatma: Sahne değişimi ile yeni oyun başlatma aynı olay gibi kullanılır. Yeniden başlatma: Puanın 0 yapılması yalnızca yeni oyun başlatma düğmesine veya yeşil bayrağa bağlanır.

Blokları incelerken her biri için şu dört soruyu sorun: Bu blok oyunu başlatıyor mu? Puan kazandırıyor mu? Sahne değiştiriyor mu? Yoksa oyunu tamamen yeniden mi başlatıyor? Bir blok bu görevlerden hangisine aitse yalnızca o görevi yapmalıdır.

Beklenen davranış, birinci sahnede kazanılan 5 puanın ikinci sahneye geçildiğinde de görünmesidir. Yaygın hata belirtileri ise puanın her yakalamada 1’e dönmesi, sahne geçişinde 0 görünmesi veya yeşil bayrağa basmadan puanın sıfırlanmasıdır. Bu belirtilerden biri varsa önce tüm kuklalarda ve sahnede “puanı 0 yap” bloklarını arayın.

Oyunu yeniden başlatma ve puan sıfırlanması için hata kontrol listesi

Oyunu başlattığınızda puanın yalnızca yeni oyun başlangıcında sıfırlanması gerekir. Her nesne yakalandığında puan yeniden 0 oluyorsa, “puanı 0 yap” bloğu yanlış olayın içine yerleştirilmiş veya aynı akışta birden fazla kez çalışıyor olabilir.

when green flag clicked
set [puan v] to (0)

when I receive [Yeni Oyun v]
set [puan v] to (0)

when I receive [Nesne Yakalandı v]
change [puan v] by (1)

Bu örnekte puan, yeşil bayrakla veya “Yeni Oyun” mesajıyla sıfırlanır. Nesne yakalandığında ise yalnızca artırılır. Akışınızı şu sırayla kontrol edin:

  1. “Puanı 0 yap” bloğunun kaç yerde bulunduğunu sayın. Gereksiz tekrarlar varsa kaldırın.
  2. Bu bloğun hangi olaylarla tetiklendiğini inceleyin. Nesne yakalama, çarpışma veya puan artırma olayına bağlı olmamalıdır.
  3. Yeşil bayrak akışının oyunun başlangıcında tek kez çalıştığından emin olun.
  4. Nesne yakalama kodunda yalnızca “puanı artır” işleminin bulunduğunu kontrol edin.
  5. Sahne geçişi sırasında puanın sıfırlanıp sıfırlanmadığını gözlemleyin.
  6. Yeniden başlatma olayı, yeni oyun başlangıcına bağlı mı kontrol edin.
  7. Puan değişkeninin doğru kapsamda oluşturulduğundan emin olun. Birden fazla kukla kullanıyorsanız ortak puan için tüm kuklalar seçeneği uygun olabilir.
  8. İkinci sahnenin ilk sahnede kullanılan aynı puan değişkenini izlediğini kontrol edin.

Asenkron çalışırken akışınızı tekrar tekrar incelemek isterseniz, video eğitimler üzerinden ilgili kod mantığını kendi hızınızda gözden geçirebilirsiniz.

Kontrollü test planı

Önce oyunu başlatın ve puanın 0 olduğunu kontrol edin. Bir nesne yakalayın; puan beklenen miktarda artmalıdır. Sahne değiştirin; puan korunmalıdır. İkinci sahnede birkaç nesne daha yakalayın ve artışın devam ettiğini gözlemleyin. Son olarak oyunu durdurup yeniden başlatın; bu aşamada puanın tekrar 0 olması beklenir.

Sık Sorulan Sorular

Scratch’te puan neden her nesne yakalandığında tekrar 0 oluyor?

“Puanı 0 yap” bloğu büyük olasılıkla nesne yakalama olayının içinde bulunuyordur. Bu bloğu başlangıç akışına taşıyın ve yakalama kodunda yalnızca “puanı artır” bloğunu bırakın.

“Değişkeni 0 yap” bloğu Scratch oyununda nereye konulmalıdır?

Genellikle yeşil bayrak tıklandığında çalışan başlangıç akışına konulmalıdır. Yeni oyun mesajı kullanıyorsanız aynı işlem yalnızca bu yeniden başlatma olayında da yer alabilir.

Sahne değiştirince puanın korunması için hangi bloklardan kaçınmalıyım?

Sahne değiştiğinde çalışan akışın içinde “puanı 0 yap” bloğu kullanmaktan kaçının. Sahne geçişi puanı değiştirmemeli; ikinci sahne aynı değişkeni okumaya ve artırmaya devam etmelidir.

Oyunu yeniden başlattığımda puanın sıfırlanıp sıfırlanmadığını nasıl test ederim?

Oyunu başlatın, bir nesne yakalayın, sahne değiştirin ve birkaç nesne daha yakalayın. Ardından oyunu durdurup yeniden başlatın. Puan başlangıçta ve yeniden başlatma sonrasında 0, oyun sırasında ise adımlara göre artmalıdır.

Bu kontrol sırasını uyguladığınızda puanın hangi olayda değiştiğini daha kolay görebilir ve Scratch oyun akışınızı daha güvenli biçimde düzenleyebilirsiniz.

Bu içerik aradığın cevabı verdi mi?
Yanıtın, hangi yazıları geliştirmemiz gerektiğini anlamamıza yardımcı olur.
Bu içeriğin üretilmesinde yapay zeka araçlarından destek alınmıştır.

Bu konudan sonra ne okuyabilirsin?

Tüm yazılar

İlgili Eğitimler

Berk Keskin — Yazılım Geliştirici ve Eğitmen
Yazar

Berk Keskin Kimdir?

Yazılıma 12 yaşında başladı; bugün öğrencinin seviyesine ve hedefine göre şekillenen sürdürülebilir öğrenme sistemleri tasarlıyor. 500'den fazla kişiye ezber değil, düşünerek kod yazmayı öğretti — Berk Akademi'de izlemeye değil üretmeye dayalı öğrenme kültürünü o kuruyor.

WhatsApp Hemen Ara