Pinoo ile Zıp Zıp Oyunu
Projenin Amacı: Pinoo Kontrol Kartını kullanarak mesafe sensörü ile zıp zıp oyununa oyun konsolu oluşturmak.
Süre: 2 ders
Yaş Grubu: 7 yaş ve üzeri
Pinoo Set: Temel set, icat set, maker set ve tam set.
Kazanımları:
∙ Pinoo kontrol kartını kodlamayı öğrenir
∙ Mesafe sensörünü kodlamayı öğrenir.
∙ Algoritma kurma becerisi gelişir.
∙ Kodlama becerisi gelişir.
Kullanılması Gereken Malzemeler:∙ Mblock 3 programı, Pinoo kontrol kartı, mesafe sensörü, bağlantı kablosu.
Tasarım için Gereken Malzemeler: Forex, makas, silikon tabancası, boya, çift taraflı bant.
Proje Yapılışı:
Forex e dilediğimiz kar tanesi şekli çizerek bir parça kesiyoruz.Bu parça oyun konsolumuz olacaktır.
Oyun konsolumuzda dilediğimiz bir yere mesafe sensörünü silikon tabancası yardımı ile sabitliyoruz.
Dilediğimiz gibi süslüyoruz.
Bağlantılarımızı yapalım.Pinoo kontrol kartımızı oyun konsolunun arkasına yerleştiriyoruz ve mesafe sensörünü 5 numaralı mor girişe bağlıyoruz.
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 COM6'yı 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 Penguin1,üç adet Satr1 ve Tree-Lights adlı kuklaları ekliyoruz.
Sahne alanını değiştirmek için ise Sahne bölümündeki Yeni dekoru kütüphaneden seç butonuna tıklayarak slopes sahnesini seçiyoruz.
Oyunun başlaması için Olaylar menüsünden Yeşil Bayrağa tıklanınca kodunu alıyoruz.
Eklediğimiz penguen kuklasının başlangıçta belli bir noktada ortaya çıkmasını istiyoruz. Bunun için öncelikle başlangıç konumunu belirliyoruz ve hareket sekmesindeki x :12 y: -123 kod bloğunu alıyoruz. Burada x ve y ye karşılık gelen sayılar sizde değişiklik gösterebilir.
Burada x : 12 , y :-123 olarak güncelliyoruz.
Kuklayı başlangıç noktasına yerleştirdikten sonra yapacak olduğu tüm işlemler oyun bitene dek sürekli tekrarlanacaktır. Bunun için kontrol sekmesinden sürekli tekrarla kod bloğunu alıyoruz.
Oyunda penguen karakteri zıplayarak kar tanelerini toplamaya çalışacaktır. Burada kuklanın zıplama işlemini, oyun konsolumuza zıpladığımızda mesafe sensörünü kullanarak yaptıracağız. Eğer mesafe sensörü değeri beşten küçük ise kukla zıplasın istiyoruz. Eğer ifadesi için kontrol sekmesinden eğer ise kod bloğunu alıyoruz.
Koşul bölümünü oluşturmak için işlemler sekmesinden küçüktür ifadesini alıyoruz. İlk kutucuğa robotlar sekmesinden mesafe sensörü ile ilgili kod bloğunu yerleştiriyoruz. Pin numarasını pinoo5 olarak değiştiriyoruz. İkinci kutucuğa ise 5 rakamını yazıyoruz.
Kuklanın dikey yönde hareket edebilmesi(zıplıyor olarak gözükmesi için)koordinat sisteminden faydalanacağız. Dikey yön hareketi düzlemde y ekseni ifade ettiği için hareket sekmesinden y'yi 10 arttır komutunu alıyoruz.10 ifadesin 50 olarak güncelliyoruz. Bu işlemi 0.5 saniye boyunca yapması gerektiği için ise kontrol sekmesinden 1 saniye bekle komutunu alıyoruz. 1 rakamını 0.5 olarak güncelliyoruz.
Yükseltisini arttırdığımız kuklanın tekrara zemin üzerine(geldiği noktaya)gelebilmesi için hareket sekmesinden y yi 10 arttır komutunu alıyoruz ve 10 rakamını -50 olarak güncelliyoruz.
Eklediğimiz Star1 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.
Kar tanesinin sürekli olarak sahnenin farklı noktalarında rastgele belirebilmesini istiyoruz. Bunu için öncelikle kontrol sekmesinden sürekli tekrarla kod bloğunu alarak işe başlıyoruz.
Kar tanesi sahne üzerinde kenar bir noktaya geldiğinde orada takılı kalmaması için kenara gelince sek ifadesini kullanacağız. Hareket sekmesinden kenara gelince sek kod bloğunu alıyoruz.
Kuklanın 1 saniye aralıkla ile sahnenin rastgele noktalarında belirebilmesi için hareket sekmesinden fare okuna git kod bloğunu alıyoruz ve fare oku metininin yanındaki minik oka tıklayarak rastgele sahne noktası ifadesini seçiyoruz. Bu işlemi 1 saniye boyunca yapması için ise kontrol sekmesinden 1 saniye bekle kod bloğunu alıyoruz.
Oyunun başlangıcında yapılması gereken diğer özellikleri başlatmak için Olaylar menüsünden Yeşil Bayrağa tıklanınca kodunu alıyoruz.
Penguenimiz zıplarken eğer kar tanesine değer ise öncelikle kar tanesi gizlensin daha sonra ise puan kazanılsın istiyoruz. 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.
Başlangıçta puanı sıfırlayabilmek için Veri&Blok sekmesinden puan 0 olsun kod bloğunu alıyoruz.
Başlangıçta kuklayı görünür kılabilmek için görünüm sekmesinden görün komutunu alıyoruz.
Başlangıç komutları tamamlandıktan sonra yapacağımız işlemlerin sürekli tekrarlanması için kontrol sekmesinden sürekli tekrarla kod bloğunu alıyoruz.
Kar tanesi rastgele hareket ederken eğer penguene 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.
Penguin1 kuklasına yani penguene 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 Penguin1 adını seçiyoruz.
Şayet şart sağlanır ise kuklanın gizlenmesi ve 1 puan kazanabilmek için öncelikle görünüm sekmesinden gizlen komutunu alıyoruz. Daha sonra ise Veri&Blok sekmesinden puanı 1 arttır komutunu alıyoruz.
Eğer puanımız 3'e 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 3 rakamını yazıyoruz.
Oyunun bitmesi durumunun geri dönütünü verebilmek için Veri&Blok sekmesinden puan 0 olsun kod bloğunu alıyoruz. 0 ifadesini OYUN BİTTİ olarak değiştiriyoruz Oyunu bitirmek içinse kontrol sekmesinden hepsini durdur kod bloğunu alıyoruz.
*** Diğer iki kar tanesi kuklasına da aynı kodları yazarak oyunumuzu tamamlıyoruz.
Kodlarımızı tamamladıktan sonra çift taraflı bant ile konsolu monitör üzerine sabitliyoruz. Yeşil bayrağa tıklayarak oyunumuzun çalışmasını kontrol ediyoruz.
∙ Kar taneleri rastgele yönlere hareket ediyor olmalı,
∙ Sensör elimizi gördüğünde penguen zıplıyor olmalı,
∙ Kar tanesi penguene her değdiğinde 1 puan kazanıyor olmalıyız. ∙ Puanımız 3 olduğunda ise oyun bitmelidir.