Joystick ile Pacman oyunu

Joystick ile Pacman oyunu

Özellikle 90’lı yılların vazgeçilmez oyunlarından olan pacman’i bir çoğunuz biliyordur. Yine de kısaca hatırlatmak gerekirse oyunda bir labirent var ve pacman karakteri ile labirent içerisinde bulunan yemleri toplamak asıl görevimiz. Tabi bunu yaparken labirent içerisinde gelişi güzel dolaşan canavarlara yakalanmamak gerekiyor. Biz bu etkinlikte bir kaç ufak değişiklik yaparak Pacman oyununu joystick ile oynanabilir şekilde hazırlayacağız. 

Amacımız Pacman’in 240 saniye içerisinde labirentin duvarlarına değmeden yemleri yiyerek kapıya ulaşmasını sağlamak. Bunu yaparkende süre bitmeden mümkün olduğunca yemleri yemeye çalışmak. 

Kodlama yapmadan önce oyunun tasarımını hazırlamak her zaman önceliğimiz olmalıdır. Sırasıyla oyunumuzu şu şekilde oluşturacağız:

1- mBlock Sahne Tasarımı

2- Arduino devre oluşturma

3- Kodlama

Oyunumuzun sahnesini labirent olacak şekilde tasarlayınız. Aynı zamanda Pacman’i oyunun sonucuna göre yönlendirebileceğimiz “Oyun bitti” ve “Tebrikler” sahnelerini aşağıdaki gibi oluşturunuz.

Oyun Sahnesi

Oyun Bitti Sahnesi
Tebrikler Sahnesi

Oyun kahramanımız pacmani ise kukla çizi kullanarak aşağıdaki gibi hazırlayabilirsiniz.

Pacman’i ve  yiyeceği yemleri labirentin çeşitli noktalarına aşağıdaki gibi yerleştirebilirsiniz.

Tasarım işlemi bitti şimdi sırada devre tasarımı var. joysticki aşağıdaki gibi arduinoyu bağlayarak devreyi hazırlayalım. 

DEVRE TASARIMI


VRx pinini A0, VRy pinini A1, VCC 5V  olacak şekilde bağlayınız. Bu proje için SW pinini bağlamanıza gerek yoktur.

Devre tasarımını da bitirdik. Artık Kodlama zamanı. Aşağıdaki gibi kod bloklarını ilgili kuklaların içerisine ekleyelim. Ama öncesinde değişkenlerimizi oluşturmayı unutmayın.

Değişkenler
Pacman kuklasına ait bloklar

Pacman kuklasına ait blokları incelediğimizde üzerinde durmamız gereken bazı kısımlar vardır. 


Yukarıdaki blokları kullanarak joystickten gelen değerleri j_x_konumu ve j_y_konumu değişkenlerinin içerisine aktarıyoruz. X ve y konumu için gelebilecek maksimum değer 1023 minimum değer ise 0 dır. 

Joysticki;

Sağ tarafa ittiğimizde x:1023

Sol tarafa ittiğimizde x:0

Yukarıya ittiğimizde y:0

Aşağıya ittiğimizde ise y:1023 değerlerini almaktadır. 

Yukarıdaki bloklar ile gelen değerlere göre kuklamızı sağa, sola, yukarı ve aşağı yönlere doğru hareket ettiriyoruz.

Kapı kuklasına ait bloklar
Yem Blokları – Aynı blokları tüm yem kuklalarının içerisine ekleyiniz.
Sahne Blokları

Oyunumuz hazır. Dilerseniz oyuna eklemeler yaparak oyunu geliştirebilirsiniz. 

Yazar hakkında

Tanju Köse administrator

1983 Rize/Kalkandere doğumluyum. 2006 yılında Ondokuz Mayıs Üniversitesi Bilgisayar ve Öğretim Teknolojileri bölümünden mezun oldum. Daha önce Rize ve Yozgat illerinde çalıştım. 2010 yılından itibaren Bafra'da Bilişim Teknolojileri ve Yazılım öğretmeni olarak görevime devam ediyorum. Kodlasam/Kodlabafra projesini yürüten ekip içerisinde görev almaktayım. Bilişim Teknolojileri (Blok Tabanlı Kodlama, 3D Tasarım, Arduino, Mobil Uygulamalar, Tasarım Programları vb.) alanında öğrenci ve öğretmen eğitimi vermekteyim. Evli ve iki çocuk babasıyım.