Scratch geri sayım sayacı yapmak için bir süre değişkeni oluşturabilir, başlangıç değerini belirleyebilir ve bu değeri döngü içinde her saniye 1 azaltabilirsin. Oyun süresi 0 olduğunda bir koşul çalıştırarak oyunun bitiş mesajını gösterebilir ve projeyi durdurabilirsin.
Bu yöntem, Scratch oyunlarında süreyi görünür biçimde takip etmeyi ve oyuncuya belirli bir zaman sınırı koymayı sağlar.
Geri sayım sayacı süreyi nasıl azaltır?

Scratch'te geri sayım sayacı, süre değişkeninin her 1 saniyede 1 azaltılmasıyla çalışır. Örneğin süre başlangıçta 30 ise döngü bir kez çalıştığında 29, bir saniye sonra 28 olur ve bu işlem süre 0 değerine ulaşana kadar devam eder.
Önce Değişkenler kategorisinden Bir Değişken Oluştur seçeneğine tıkla ve değişkene süre adını ver. Oluşturduğun değişkenin yanındaki kutuyu işaretlediğinde süre değeri sahnede görünür. Böylece oyunu çalıştırırken sayacın nasıl azaldığını doğrudan izleyebilirsin. Scratch'in Türkçe bloklarında bu işlem için süre değişkenini 30 yap, 1 saniye bekle ve süreyi -1 kadar değiştir blokları kullanılır.
30 saniyelik oyun sayacı nasıl kurulur?
30 saniyelik bir sayaç için başlangıçta süreyi 30 yapmalı, ardından her saniyede süreyi 1 azaltmalısın. Aşağıdaki blok sırası, bu temel akışı gösterir:
yeşil bayrağa tıklandığında
süre değişkenini 30 yap
sürekli tekrarla
1 saniye bekle
süreyi -1 kadar değiştir
eğer <süre = 0> ise
Süre doldu haberini sal
tümünü durdur
- Yeşil bayrağa tıklandığında bloğunu ekle. Bu blok, oyun başlatıldığında sayacın çalışmasını sağlar.
- süre değişkenini 30 yap bloğunu kullan. Her yeni oyunda sayaç yeniden 30 saniyeden başlar.
- sürekli tekrarla bloğunu ekle. Sayaç işlemlerini bu döngünün içine yerleştir.
- Döngünün içine 1 saniye bekle bloğunu koy. Bekleme eklenmezse süre çok hızlı azalır.
- Bekleme bloğunun altına süreyi -1 kadar değiştir bloğunu yerleştir. Bu blok, her turda süre değerini 1 azaltır.
- Bir eğer bloğu ekleyerek süre = 0 koşulunu oluştur. Sayaç sıfıra ulaştığında bu koşul çalışır.
- Koşulun içine Süre doldu haberini sal bloğunu ekle. Bu mesajı alan kuklalar bitiş ekranını gösterebilir veya oyuncuya bilgi verebilir.
- Son olarak tümünü durdur bloğunu ekle. Böylece oyundaki kod dizileri çalışmayı bırakır.
Bu akışta sayaç sahnede 30, 29, 28 şeklinde azalır. Değer 0 olduğunda mesaj gönderilir ve proje durur. Başka bir oyun turu başlatıldığında yeşil bayrak, süreyi yeniden 30 yaparak sayacı baştan çalıştırır.
Süre bitince oyun nasıl durdurulur?

Süre sıfıra ulaştığında oyunu durdurmak için süre değişkenini kontrol eden bir koşul kurabilir, ardından “Süre doldu” mesajını salarak bitiş ekranına geçebilirsin. Bu örnekte kedi, 30 saniye boyunca rastgele beliren elmaları toplar; elmaya dokunduğunda skor artar ve süre ile skor sahnede görünür.
- Oyun aktif adında bir değişken oluştur ve yeşil bayrağa tıklanınca bu değişkeni 1 yap. Süre değişkenini 30'a, Skor değişkenini 0'a ayarla. Oyun dekorunu da
dekoru [Oyun] yapbloğuyla seç. - Süreyi yöneten betiğe
tekrarla ... olana kadarbloğunu ekle. Döngünün içine1 saniye bekleveSüre'yi 1 kadar değiştirbloklarını yerleştir. Süreyi azaltmak için değişim değerini -1 yapmalısın. - Döngü tamamlandığında
Oyun aktif'i 0 yapveSüre doldu mesajını salbloklarını çalıştır. Böylece oyundaki diğer akışlar da sürenin bittiğini anlayabilir. - Elma kuklasında
rastgele konuma gitvegösterbloklarını kullan. Kedi elmaya değdiğindeSkor'u 1 kadar değiştirbloğuyla puanı artır ve elmayı gizle. - Elmanın bekleme koşuluna hem kedinin elmaya değmesini hem de Oyun aktif değişkeninin 0 olmasını ekle. Süre dolduğunda elma beklemeden gizlenir ve yeni elma oluşturma akışı devam etmez.
- Sahne için
Süre doldu mesajını aldığımdabloğunu kullan. Bu bloğun altınadekoru [Bitiş] yapkomutunu ekleyerek bitiş ekranını göster.
Yeşil bayrak tıklanınca
Süre'yi 30 yap
Skor'u 0 yap
Oyun aktif'i 1 yap
tekrarla <Süre = 0> olana kadar
1 saniye bekle
Süre'yi -1 kadar değiştir
end
Oyun aktif'i 0 yap
Süre doldu mesajını sal
Bu akışta süre ve skor aynı anda görünür. Kedi elmaya dokunduğunda skor yükselir; süre 0 olduğunda “Süre doldu” mesajı alınır, dekor bitiş ekranına geçer ve elma toplama süreci sona erer.
Zamanlayıcı bloğu ne zaman kullanılır?
zamanlayıcı bloğu geçen süreyi ölçmek istediğinde kullanışlıdır. Algılama kategorisindeki bu blok saniye cinsinden ilerleyen zamanı verir; zamanlayıcıyı sıfırla bloğu ise yeni bir ölçümü başlangıç noktasına getirir.
Hazır zamanlayıcıyla oyunun başlamasından sonra geçen süreyi kontrol edebilirsin. Örneğin zamanlayıcının 30'dan büyük olup olmadığını test ederek oyunu bitirebilirsin. Süreyi ekranda 30'dan 0'a doğru göstermek, sıfıra ulaşıldığında koşul çalıştırmak ve oyun kurallarına bağlamak içinse süre değişkeni daha anlaşılır bir yapı sunar.
Üç yaygın hataya dikkat et:
- Yeşil bayrağa tıklanınca
Süre'yi 30 yapbloğunu çalıştırmayı unutmak, ikinci başlatmada sürenin 0'da kalmasına yol açar. - Geri sayım döngüsünü birden fazla kuklaya eklemek, aynı değişkenin bir saniyede birden fazla kez azalmasına neden olabilir. Sayacı tek bir kuklanın ya da sahnenin yönetmesi daha güvenlidir.
- Durma koşulunu yanlış kurmak oyunun erken bitmesine neden olabilir. 30'dan birer birer azalan bu örnekte kontrolün
Süre = 0biçiminde kurulması ve süre azaltıldıktan sonra çalıştırılması gerekir.
Sık Sorulan Sorular
Scratch oyununu ikinci kez başlatınca süre neden hemen bitiyor?
Oyun ikinci kez başlatıldığında süre değişkeni yeniden 30 yapılmıyorsa değer 0'da kalır ve bitiş koşulu hemen çalışır. Yeşil bayrak betiğinin başına Süre'yi 30 yap, Skor'u 0 yap ve Oyun aktif'i 1 yap bloklarını ekleyerek her turu başlangıç değerleriyle başlatabilirsin.
Scratch'te geri sayım sayacı neden normalden hızlı azalıyor?
Geri sayım döngüsü birden fazla kuklada çalışıyorsa aynı süre değişkeni her döngüde tekrar tekrar azalır. Sayaç betiğini tek bir kuklaya veya sahneye taşı ve döngünün içinde yalnızca bir kez 1 saniye bekle bloğu bulunduğunu kontrol et.
Süre sıfıra gelmeden oyunu durduran koşul nasıl düzeltilir?
Koşulu Süre = 0 olacak şekilde düzenle ve bu kontrolü Süre'yi -1 kadar değiştir bloğundan sonra çalıştır. Koşulun 1 değerinde veya süre azaltılmadan önce kontrol edilmesi, oyunun sıfıra ulaşmadan bitmesine yol açabilir.
Bu yapıyı kurduğunda sayaç, skor, elma toplama ve bitiş ekranı aynı oyun akışı içinde birlikte çalışır.