Pinoo ile Yıldız Oyunu
Projenin Amacı: Pinoo Kontrol Kartını kullanarak eğim ve darbe sensörü ile yıldız toplama oyununa oyun konsolu oluşturmak.
Süre: 2 ders
Yaş Grubu: 7 yaş ve üzeri
Pinoo Set: Maker set ve tam set.
Kazanımları:
- Pinoo kontrol kartını kodlamayı öğrenir
- Eğim ve darbe sensörünü kodlamayı öğrenir.
- Algoritma kurma becerisi gelişir.
- Kodlama becerisi gelişir.
Kullanılması Gereken Malzemeler: Mblock 3 programı, Pinoo kontrol kartı, eğim ve darbe sensörü, bağlantı kablosu.
Tasarım için Gereken Malzemeler: Forex, makas, silikon tabancası, boya, keçe.
Proje Yapılışı:
Forex e dilediğimiz uzay aracı şeklini çizerek bir parça kesiyoruz.Bu parça oyun konsolumuz olacaktır.
Ayrıntılarını tasarlayıp boyuyoruz.
Oyun konsolumuzda dilediğimiz bir yere Eğim darbe sensörü büyüklüğünde bir pencere açıyoruz. Sensörü açtığımız pencereye silikon tabancası yardımı ile sabitliyoruz.
Bağlantılarımızı yapalım.Pinoo kontrol kartımızı oyun konsolunun arkasına yerleştiriyoruz ve Eğim ve darbe sensörünü 1 numaralı mor girişe bağlıyoruz.
Kodlama Kısmı:
Bağlantılarımızı tamamladık şimdi kodlama kısmına geçelim.Bunun için mblock-3 uygulamasını kullanacağız. Pinoo Kontrol Kartımızı bağlantı kablosu yardımıyla bilgisayara bağlayalım ve Mblock3 uygulamasına giriş yapalım. Daha sonra Pinoo Kontrol Kartımızı bilgisayar ile tanıştıralım. Bunun için öncelikle Bağlan sekmesinden seri port seçeneğine tıklıyoruz.Daha sonra COM3’ü seçiyoruz.(Bilgisayara ve porta göre rakam farklılık gösterebilir.)
Seri port bağlantısını yaptıktan sonra kartlar sekmesinden kullanacağımız kartı seçelim. Biz Arduino’nun Nano modeli ile çalışıyoruz.
Pinoo uzantısını bilgisayarımıza ekleyebilmek için uzantılar sekmesinden uzantıları yönet seçeneğine tıklıyoruz.Açılan pencerede arama motoruna “Pinoo” yazıyoruz ve çıkan sonuca indir dememiz yeterli.Bilgisayarımıza yüklendi.
Tekrar uzantılar sekmesine gelip Pinoo seçeneğine tıklıyoruz. Pinoo uzantısı ile kodlarımızı yazacağız.
Kodlama kısmında öncelikle oyun tasarımını yapacağız.Bunun için panda kuklasının üzerinde mouse'un sağ tuşuna tıklayarak pandayı siliyoruz. Daha sonra ise yeni kukla butonuna tıklayarak Star1 ve Spaceship adlı kuklayı ekliyoruz.
Sahne alanını değiştirmek için ise Sahne bölümündeki Yeni dekoru kütüphaneden seç butonuna tıklayarak moon sahnesini seçiyoruz.
Eklediğimiz Star1 kuklasına tıklıyoruz ve oyunun başlaması için Olaylar menüsünden Yeşil Bayrağa tıklanınca kodunu alıyoruz.
Yazacağımız tüm kod bloklarının oyun bitinceye dek sürekli olarak çalışması gerektiği için kontrol sekmesinden sürekli tekrarla kod bloğunu alıyoruz.
Eklediğimiz yıldız kuklasının belli bir noktadan başlayarak sahnenin rastgele noktalarında ortaya çıkmasını istiyoruz. Bunun için öncelikle başlangıç konumunu belirliyoruz ve hareket sekmesindeki x :142 y: 80 kod bloğunu alıyoruz.Burada x ve y ye karşılık gelen sayılar sizde değişiklik gösterebilir.
Burada x : 0 , y :140 olarak güncelliyoruz.
Yukarıdan aşağıya doğru rastgele konumlarda yıldızın yavaş yavaş hareket edebilmesi için hareket sekmesinden 1 sn.de x:0 y:-20 a süzül komutunu alıyoruz. Burada x ve y ye karşılık gelen değerler sizde değişiklik gösterebilir.
x değeri yerine işlemler sekmesinden 1 ile 10 arasında bir sayı tut kod bloğunu yerleştiriyoruz. Blokta 0 yerine -180 , 10 yerine 136 değerlerini yazıyoruz.
Son olarak da y yerine -20 değerini yazıyoruz.
Yıldızlar rastgele hareket ederken eğer uzay aracına değer ise puan kazanmak istiyoruz.Bunun için bir kontrol bloğu oluşturacağız. Kontrol sekmesinden eğer ise kod bloğunu alıyoruz. Spaceship kuklasına yani uzay aracına değip değmediğimizi anlayabilmek için algılama sekmesinden 'a değdi mi kod bloğunu alıyoruz. kutucuğun yanındaki minik oka tıklayarak spaceship adını seçiyoruz.
Bir puan hesabı yapabilmek için değişkenlerden faydalanacağız.Veri&Blok sekmesinden Bir değişken oluştur butonuna tıklıyoruz ve puan adında bir değişken oluşturuyoruz.
Şayet şart sağlanır ise 1 puan kazanabilmek için Veri&Blok sekmesinden puanı 1 arttır komutunu alıyoruz.
Eklediğimiz SpaceShip kuklasına tıklıyoruz ve oyunun başlangıcında yapılması gerekenleri başlatmak için Olaylar menüsünden Yeşil Bayrağa tıklanınca kodunu alıyoruz.
Başlangıçta puanı sıfırlayabilmek için Veri&Blok sekmesinden puan 0 olsun kod bloğunu alıyoruz.
Yazacağımız tüm kod bloklarının oyun bitinceye dek sürekli olarak çalışması gerektiği için kontrol sekmesinden sürekli tekrarla kod bloğunu alıyoruz.
Eğer eğim ve darbe sensöründe yani oyun konsolumuzda bir darbe algılanır ise uzay aracımız zıplasın istiyoruz.Sensörün darbe alıp almadığını kontrol edebilmek için kontrol sekmesinden eğer ise bloğundan faydalanacağız.
Koşul bölümünü oluşturmak için işlemler sekmesinden eşittir ifadesini alıyoruz.İlk kutucuğa robotlar sekmesinden eğim ve darbe sensörü ile ilgili kod bloğunu yerleştiriyoruz.Pin numarasını pinoo1 olarak değiştiriyoruz.İkinci kutucuğa ise sensörü darbe aldığını ifade eden 1 rakamını yazıyoruz.
Koşul sağlanır ise kuklanın 0.5 saniye boyunca uzay aracının yukarı yönde(koordinat eksenine göre y yönünde) hareket etmesi daha sonra ise aynı eksende aşağı inmesi gerekmektedir.Yukarı yönde hareketi için hareket sekmesinden y yi 10 arttır komutunu alıyoruz ve 10 rakamını 80 olarak güncelliyoruz.
Bu işlemi 0.5 saniye boyunca yapabilmesi için ise kontrol sekmesinden 1 saniye bekle komutunu alıyoruz ve 1 rakamını 0.5 olarak güncelliyoruz.
Kuklanın y ekseninde aşağı yönde aynı uzunlukta hareket edebilmesi için y yi 10 arttır komutunu alıyoruz. 10 rakamını -80 olarak güncelliyoruz.
Eğer puanımız 10 'a eşit ise oyun bitsin istiyoruz.Bir koşul ifadesi oluşturmak için öncelikle kontrol sekmesinden eğer ise kod bloğunu alıyoruz.
Koşul bölümünü oluşturmak için işlemler sekmesinden eşittir ifadesini alıyoruz.Veri&Blok sekmesinden puan bloğunu yerleştiriyoruz.İkinci kutucuğa 10 rakamını yazıyoruz.
Oyunun bitmesi durumunun geri dönütünü verebilmek için görünüm menüsünden merhaba de 2 saniye komutunu alıyoruz. Merhaba ifadesini OYUN BİTTİ olarak değiştiriyoruz.
Oyunu bitirmek içinse kontrol sekmesinden hepsini durdur kod bloğunu alıyoruz.
Kodlarımızı tamamladıktan sonra yeşil bayrağa tıklayarak oyunumuzun çalışmasını kontrol ediyoruz.
- Yıldızlar rastgele yönlere hareket ediyor olmalı,
- Sensörün üzerine hafifçe vurduğumuzda uzay aracımız(SpaceShip)zıplıyor olmalı,
- Uzay aracına Yıldız her değdiğinde 1 puan kazanıyor olmalıyız.
- Puanımız 10 olduğunda ise oyun bitmelidir.
PİNOO SETLERİ İLE ÇOCUKLAR, EVLERİNDE RAHATLIKLA BULABİLECEKLERİ MALZEMELER İLE YÜZLERCE PROJE YAPABİLİRLER.