Uzay Savunması

Gök yüzünden gelen uzaylılara karşı dünyayı savunun...

Adım 1: Bir Uzay Gemisi Yapmak

Dünyayı savunacak bir uzay gemisi yapalım!

Etkinlik Kontrol Listesi

  • Yeni bir Scratch projesi başlat ve projenin boş kalması için kedi sprite'ı sil. Çevrimiçi Scratch editörünü jumpto.cc/scratch-new adresinde bulabilirsiniz .

  • Projenize 'yıldız' zemini ve 'Uzay gemisi' sprite ekleyin. Uzay gemisini küçültün ve ekranın altına kaydırın.

    Uzay Savunması
  • Sol ok tuşuna basıldığında, uzay geminizi sola taşımak için kod ekleyin. Bu blokları kullanmanız gerekecek:

    
     
    when flag clicked forever if
    key pressed?
    then change x by
    -4
    end end
  • Sağ ok tuşuna basıldığında, uzay geminizi sağa hareket ettirmek için kod ekleyin.

  • Uzay geminizi ok tuşları ile kontrol edip edemeyeceğinizi görmek için projenizi test edin.

Projeni sakla

Adım 2: Şimşek

Uzay gemisine şimşek çakması yeteneği verelim!

Etkinlik Kontrol Listesi

  • Scratch kütüphanesinden 'Lightning' hareketli grafiğini ekleyin. Oyun başladığında, uzay gemisi lazer toplarını ateşleyene kadar yıldırım gizlenmelidir. Sprite çok daha küçük ve baş aşağı olmalı. Şimşek 'sprite için aşağıdaki kodu ekleyin.

    
     
    when green flag clicked hide set size to
    25
    % point in direction
    -90
  • Boşluk tuşuna her basıldığında yeni bir şimşek oluşturmak için aşağıdaki kodu Uzay Gemisine ekleyin.

    
     
    when flag clicked forever if
    key pressed?
    then create clone of end end
  • Ne zaman yeni bir klon oluşturulmuşsa, uzay gemisi ile aynı yerden başlamalı ve daha sonra kenara değene kadar sahne üzerinde hareket etmelidir. Lightning sprite'e şu kodu ekleyin:

    
     
    when I start as a clone go to show repeat until
    touching ?
    change y by
    10
    end delete this clone

Not: Yeni klonu hala gizlendikten sonra, göstermeden önce uzay gemisine götürürüz. Bu sadece daha hoş görünüyor.

  • Boşluk tuşuna basarak yıldırımınızı test edin.

Projeni sakla

Zorluk: Yıldırımın düzeltilmesi

Boşluk tuşunu basılı tutarsanız ne olur? Bunu düzeltmek için wait {.blockcontrol} bloğunu kullanabilir misiniz?

Projeni sakla

Adım 3: Uçan Boşluk suaygırları

Uzay geminizi yok etmeye çalışan birçok uçan suaygırı ekleyelim.

Etkinlik Kontrol Listesi

  • Scratch kütüphanesindeki 'Hippo1' görüntüsünden yeni bir sprite oluşturun.

    Uzay Savunması
  • Dönme stilini yalnızca solda olacak şekilde ayarlayın ve oyun başladığında hareketli çizgiyi gizlemek için aşağıdaki kodu ekleyin:

    
     
    when flag clicked hide
  • Sadece suaygırı sprite için, speed {.blockdata} adlı yeni bir değişken oluşturun.

    Uzay Savunması

    Bunu doğru yapıp yapmadığınızı bileceksiniz, çünkü değişken, yanında bulunan sprite adına sahip olacaktır:

    Uzay Savunması
  • Aşağıdaki kod birkaç saniyede yeni bir su aygırı yaratacaktır. Sahne Alanı , bu kodun yaşaması için iyi bir yerdir:

    
     
    when flag clicked forever wait
    pick random
    2
    to
    4
    secs create clone of end
  • Her su aygırı klonu başladığında, şimşek çarpıncaya kadar sahnenin etrafında (rastgele bir hızda) hareket etmesini sağlayın. Bu kodu su aygırı hareketli grafiğine ekleyin:

    
     
    when I start as a clone set to
    pick random
    2
    to
    4
    go to x:
    pick random
    -220
    to
    220
    y:
    150
    show repeat until
    touching ?
    move
    speed
    steps turn right
    pick random
    -10
    to
    10
    degrees if on edge, bounce end delete this clone
  • Su aygırı kodunuzu test edin. Her birkaç saniyede bir, yeni bir su aygırı klonunun kendi hızında hareket ettiğini görün.

    Uzay Savunması
  • Lazer topunu test et. Bir su aygırı vursanız, yok olur mu?

  • Bir su aygırı uzay geminize dokunduğunda, uzay gemisinin patlamasını sağlamalıyız! Bunu yapmak için önce uzay geminizin 'normal' ve 'hit' olarak adlandırılan 2 kostümü olduğundan emin olun.

    Uzay Savunması

    Uzay gemisinin 'hit' kostümü, 'Sun' görüntüsünü Scratch kütüphanesinden içeri alarak ve rengini değiştirmek için 'bir şekil rengi' aracını kullanarak yapılabilir.

    Uzay Savunması
  • Bu kodu uzay geminize ekleyin, böylece uçan bir suaygırıyla çarpıştığı zaman kostüm değiştirir:

    
     
    when flag clicked forever switch costume to wait until
    touching
    ? switch costume to broadcast wait
    1
    secs end
  • Yukarıdaki kodda bir 'hit' mesajı yayınladığınızı fark ettiniz mi? Bu mesajı, uzay aracına çarptığında tüm suaygırlarının kaybolması için kullanabilirsiniz.

    Bu kodu hipopotama ekle:

    
     
    when I receive delete this clone
  • Yeni bir oyuna başlatarak ve bir su aygırı ile çarpışarak bu kodu test edin.

    Uzay Savunması

Projeni sakla

Zorluk: Yaşıyor ve Puanlıyor

Oyuna {.blockdata} lives ekleyebilir, {.blockdata} score ve hatta highscore {.blockdata} ekleyebilir misin? Size yardımcı olması için 'Noktaları Yakala' projesini kullanabilirsiniz.

Projeni sakla

Adım 4: Meyve Yarasaları!

Uzay geminize portakal fırlatan bir meyve yarasası yapalım.

Etkinlik Kontrol Listesi

  • Öncelikle, forever {.blockcontrol} aşamasının üstünde {.blockmotion} move edecek yeni bir yarasa sprite yapın. Kodunuzu test etmeyi unutmayın.

    Uzay Savunması
  • Eğer yarasanın kostümlerine bakarsanız, zaten 2 tane olduğunu göreceksiniz:

    Uzay Savunması

    Yarasa kanadı hareket ederken kanatlarını çırpmak için bir next costume {.blocklooks} bloğunu kullanın.

  • Scratch kütüphanesinden yeni bir 'Turuncu' sprite oluşturun

    Uzay Savunması
  • Yarasaya kod ekleyin, böylece her birkaç saniyede yeni bir turuncu klon oluşturur.

    
     
    when flag clicked forever wait
    pick random
    5
    to
    10
    secs create clone of end
  • Turuncu sprite tıklayın ve her portakal klonunun yarasadan uzay gemisine doğru sahneyi düşürmesini sağlamak için bu kodu ekleyin:

    
     
    when flag clicked hide when I start as a clone go to show repeat until
    touching ? change y by
    -4
    end delete this clone when I receive delete this clone
  • Uzay gemisi sprite'ınızda, bir su aygırı veya turuncuya dokunursanız, isabet almanız için kodunuzu değiştirmeniz gerekir:

    
     
    wait until
    touching ?
    or
    touching ?
  • Oyununu test et. Düşen bir portakal çarptığında ne olur?

Projeni sakla

Adım 5: Oyun bitti

Oyunun sonuna bir 'oyun bitti' mesajı ekleyelim.

Etkinlik Kontrol Listesi

  • Henüz yapmadıysanız, life {.blockdata} adında yeni bir değişken oluşturun. Uzay geminiz 3 hayatla başlamalı ve bir düşmanla çarpıştığı zaman hayatını kaybetmeli. Hayatınız bittiğinde oyununuz da durmalıdır. Yardıma ihtiyacınız olursa, size yardımcı olmak için 'Noktaları Yakala' projesini kullanabilirsiniz.

  • Metin aracını kullanarak 'Oyun Bitti' adlı yeni bir sprite çizin.

    Uzay Savunması
  • Sahnende, oyun bitmeden hemen önce {.blockevents} mesajı game over bir game over yayınla.

    
     
    broadcast and wait
  • Mesajın oyunun sonunda gösterilmesi için bu kodu 'Game Over' sprite'ınıza ekleyin.

    
     
    when flag clicked hide when I receive show

    Bir broadcast [game over] and wait sahnenizde {.blockevents} bloğunu beklediğiniz için, oyunu bitirmeden önce 'Game Over' sprite'ın görünmesini bekleyecektir.

  • Oyununu test et. Kaç puan kazanabilirsiniz? Çok kolay veya çok zorsa oyununuzu iyileştirmenin yollarını düşünebilir misiniz?

Projeni sakla

Zorluk: Oyununu geliştir

Oyunda ne gibi iyileştirmeler yapabilirsin? İşte bazı fikirler:

  • Fazladan hayat kazanmak için toplayabileceğiniz sağlık paketleri ekleyin;
Uzay Savunması
  • Uzay geminizin kaçınması gereken yüzen kayalar ekleyin;
Uzay Savunması
  • Puanınız 100'e ulaştığında daha fazla düşman görünmesini sağlayın.

 
wait until
score
=
100

 

Kaynak

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...