Bu oyun KODU GAME LAB ile hazırlandı.

KODU GAME LAB Microsoft firmasının Windows 7 ve üzeri sürümleri için hazırlanmış çocukların programlama mantığı ile erken yaşta tanışmasına fırsat verecek bir oyun yazma programıdır.

https://www.kodugamelab.com/ gerekli diğer bilgileri buradan temin etmeniz mümkün.

Eğer bilgisayarımızın işletim sistemi Windows ise bu program ile minik minik oyun yazmaya başlayabiliriz.

Ayrıca Türkçe Dil desteği ile sizi hiç yormayacak .

Şimdi adım adım oyun yazmaya başlayalım.

KURAL 1: Oyun senaryosunu yaz.

Peki ama nasıl ? İlgili bilgiye “Eğitsel Oyun Yazma” sayfasından erişebilirsin.

Şimdi Senaryomuzu anlatalım.

Bir robosiklet var ve bu tatlı makineye verilmiş 1 dakikalık bir süre vardır. Robosiklet bu bir dakika içerisinde yıldızları toplayarak 600 puana ulaşmaya çalışır. Lakin işi sandığımızdan daha zordur. Dengesini koruyarak hareket etmek zorundadır ve aynı zamanda kendisine füze atan 2 adet gemi de peşindedir. Zamanı iyi kullanarak toplayacağı her bir yıldız 50 puan değerindedir lakin gemilerden alacağı her bir darbe ise 20 puanını silmektedir.

İlk iş gemileri yok etmek olmalıdır. Gemilere isabet edecek her Bir fişek bize puan kazandıracaktır.Bu şartlarda onu 600 puan zaferine ağaçtan düşen elmalar ulaştırabilir. Her biri 100 puan olan bu elmalar belli zaman aralıklarında ağaçtan düşüp sonra ortadan kaybolmaktadır. Elmalara ulaşabilmek için suya atlamak zorunda kalan robosikletin başı derttedir.

Onu kurtarmaya hazır mısın! Öyleyse haydi yapalım 🙂

KURAL 2: İhtiyaçları Belirle!

Yapmak istediğimiz oyunu senaryo metnine göre tasarlamalıyız. Ancak bunun için nelere ihtiyacımız olduğunu oyunu yazmaya başlamadan saptamamız gerekiyor. Bunun için yine senaryo metninden faydalanacağız. Kırmızı işaretli kelime bize ihtiyaçlar hakkında ipuçları vermektedir.

Şimdi detaylara inelim.

HEDEF: 1 dk da 600 puana ulaşmak. Bunun için bize KRONOMETRE lazım.

KARAKTER: Oyunun kahramanı bir ROBOSİKLET.

OYUN ALANI:

  1. Dengesini sağlayabileceği ince ve uzun bir PARKUR ve elmaları almak için suya atladığından bahsediliyor. Demek ki parkuru tasarlarken bu ögeye dikkat etmemiz gerekiyor.
  2. Puanı YILDIZ’lardan topluyor. O zaman bu yıldızlar parkura RASTGELE dağılmış durumda ve her biri  50 puan değerinde.Yıldızlar için PATİKA yapmamız lazım ve yıldızları rastgele oluşturması için bize birkaç tane NESNE lazım.
  3. AĞAÇ’tan düşen ELMA’lar var bu elmalarda 100 puan değerinde.Elmaların ne zaman ve hangi aralıklarla ortaya çıktığını birlikte programlayacağız.
  4. Maalesef GEMİLER. Ateş etme özelliğine sahip iki adet gemi lazım bize. 🙂
  5. Ve tabi ki gemilere ateş edebileceğiz bu da şu demek oluyor “ateş etmek için” sizinle bir kaç kod satırı oluşturmalıyız.

Eğer oyunun resmini sizinle paylaşmamış olsaydım sizin parkur tasarımınız nasıl olacaktı?

Senaryo incelemek artık sizin için farklı bir anlam taşıyor mu?

Bunları paylaşmanızı istiyorum.

Şimdi TASARIM aşamasına geçelim.

.

Bu aşamada KODU programının kullanımı hakkında gerekli eğitimi almalısın. Bunun için MİCROSOFT AÇIK AKADEMİ nin eğitim portalından faydalanabilirsin.

https://www.acikakademi.com/

Gerekli nesneleri oyun alanına eklemeden önce KODU GAME LAB ın bizlere sunduğu zemin fırçası ile senaryomuza uygun bir parkur oluşturuyoruz. Ben ilk akla gelen hali ile bu şekli verdim. Daha sonra resimdeki gibi gerekli nesneleri ekliyoruz. Geriye sadece programlama kaldı. 🙂

1

Öncelikle oyunun bir dakika sürmesini istediğim için oyun alanına bir kronometre eklemem gerek. Kronometre ağaç nesnesinin içinde olsun. Aynı zamanda kronometrenin sarı renkli skorbord da gösterilmesini istedim. Ağaç nesnesinin özelliklerini de hareketsiz- yaralanmaz olarak değiştirdim.Sahneye bir elma ekleyelim. Elma nesnesini <yaratılabilir> hale getirmeliyiz.Tekrar ağaç nesnesinin kod satırlarını açalım.Daha sonra “her 5 saniyede bir elma yarat” komutu ekledim.Eğer sarı skorbord 1 sn  ise oyunu bitir dedim.

2

Oluşturulan elmaları kim alacak ROBOSİKLET alacak. Bu sebeple robosiklet nesnesini parkura ekleyip programlamaya başlayalım. Ben hareket etmesi için <awsd> tuşlarını atadım. Ateş etmesi için de farenin ilgili tuşunu atadım.

Parkurda füzelerden kaçması ve sudan çıkabilmesi içinde zıplama eylemini yapabiliyor olması lazım. Bu sebeple boşluk tuşuna bu komutu verdim.

Şimdi sırada puan toplama için gerekli satırları oluşturmaya geldi.

3

Ben oyunun heyecanlı olmasını istiyorum.Bunun için parkur boyunca yıldızlar kendilinden oluşsun ve her seferinde farklı yerlerde meydana gelsin istiyorum.. Peki bunu nasıl yapabiliriz. Resimdeki gibi <kırmızı- beyaz- siyah> renklerde patikalar oluşturmanızı istiyorum. Her patika içinde 3 disk nesnesi oluşturmalısınız. Ben disk nesnesini seçtim çünkü hareket hızını seviyesini ayarlayabiliyorsunuz.

4

Bu satırları diğer 2 diskin içine de kopyalayın. Lakin kopyalama işlemi yaparken disklerin izleyeceği patika renklerini ayarlamayı unutmayın.

Diskler ayrık 6 dakika da bir yıldız üretmeye başlayacak. Diskler hızlı hareket eden nesneler olduğu için yıldızları yaratırken yıldızlar parkurdan fırlayacaktır. Parkurun dışına çıkan yıldızları Robosikletimiz alamayacaktır. Bu sebeple yıldızları hareketsiz ve yaralanmaz olarak ayarlayalım.

5

Arkadaşlar yine burada önemli nokta şu Yıldız’ ı Disk nesnesinin oluşturabilmesi için yıldız nesnesini <yaratılabilir> hale getirmeliyiz.

bu işlemden sonra resimdeki kod satırlarını yıldız nesnesinin içine yazalım.

Peki neden yıldız kendini yok ediyor ?Zira diğer türlü robosiklet yıldıza her değdiğinde skorbord artacak ve diskler sürekli yıldız yaratacağı için parkur yıldız cümbüşüne dönecektir. 🙂

6

Artık parkurda yıldızlarımız var.Kahramanımız yıldızları toplamaya başlayabilir. Robosikletin programlama kısmına girelim. Gerekli kod satırlarını yazalım.

Gemi nesnelerini ekleyelim ve patikalarını 3 resimdeki gibi ayarlayın. Her bir patikaya farklı renk vermek işimiz kolaylaştıracaktır.

Aynı zamanda gemi nesnelerini vurduğunda beyaz scorborda 100 puan yazılacak.Şimdide Gemi nesnelerinin içine girip gerekli satırları yazalım.

7

Gemi, robosikleti görmeye başladığı andan itibaren füze fırlatmaya başlayacak.

Ve her isabet eden füze için skorboddan 20 puan eksilecek. Bu skorbordun rengine de dikkate etmemiz lazım yoksa farklı skorbordlar ekranda belirir ve hesaplama düzgün yapılamaz.

8

Yıldızlar , gemiler, ağaç ve diskler hazır şimdi sırada elma nesnemiz var. Resimdeki satırları elma nesnesine ekleyelim.

Tüm işlemlerden sonra disk nesnelerinin görünmez olarak ayarlayalım. Böylece parkurları oluşturan diskler görünmeyecek ve sanki yıldızlar birden bire beliriyor olacak . 🙂

9

Artık son kısıma geldik oyunumuzu kaydetmeliyiz. Oyun ile ilgili ilk aşamada gerekli bilgileri

ana ekrana yazmayı ihmal etmeyelim.

🙂

Oyunun ana dosyasını aşağıya ekleyeceğim.

Oyunun son halini buradan temin edebilirsiniz.

Görüşlerinizi iletmeyi ihmal etmeyin. Ve Alıntılarda kaynak göstermeyi unutmayın.

Bir cevap yazın

E-postanız yayınlanmayacak.

clear formPost comment