My Adventure of Making a Snake Game with Javascript

Çocukluğumdan beri oyun yapmayı hep merak etmişimdir ve bir gün kendi oyunumu yapmak istemiştim. Yazılım sektöründe bu kadar zaman geçirdikten sonra kendime neden artık yapmamam gerektiğini sordum. Böylece hem Javascript becerilerimi geliştirecek hem de yazılım geliştirme sürecine daha önce hiç bakmadığım bir şekilde bakacağım.

Oyunu kodlamaya başlamadan önce, yılanın hareket algoritmasının nasıl olacağını düşünmeye başladım. Aklıma gelen ilk seçeneklerden bazıları; her hamlede tüm oyun alanını tarayıp, yılanın her hücresinin koordinatlarını bir dizide tutmak ve hareket ederken eski ve yeni hücreleri güncellemekti. Sonunda, yılanın son hücresini silip başına bir hücre eklemenin en iyisi olduğunu anladım.

Önce bir yılan nesnesi oluşturdum ve oyun alanını oluşturacak kodu yazdım. Oyun alanını oluşturduktan sonra, oyun için güzel bir yazı tipi buldum ve ekledim. Yılanı oluşturup oyun alanına yerleştiren bir kod yazdıktan sonra, yılanın hareket etmesini sağlayacak algoritmayı yazdım.

Yılanın hareketini ilk yazdığımda, oyun alanının dışına doğru hareket etmeye devam ediyordu ve tekrar içeri girebiliyordu. Örneğin, yılan yukarı doğru hareket ederken, aşağı tuşuna bastığımda kendi içinde hareket ediyordu.

Öncelikle, yılan oyun alanının kenarına gelirse, diğer uçtan devam etmesini sağlayacak kodları yazdım. Yani, örneğin, yılan sol kenara ulaşırsa, sağ kenara girmiş olacaktı.

Daha sonra, yılanın hareket ettiği yöne göre hareket eden yön tuşunu kontrol eden kodları yazdım. Yani, örneğin, yılan yukarı doğru hareket ederken düğmeye aşağı bastığımda hiçbir şey yapmıyor. Daha sonra oyunu başlatma ve durdurma özelliğini ekledim.

Bu noktada, yaklaşık bir iki ay boyunca ilgilenmeyi bıraktım. Birçok farklı düşünce ve şey girdi.

Bugün oyun tekrar aklıma geldi ve tekrar başladım. Sonunda, yemi, oyun skorunu ve oyun ayarlarını yönetme özelliğini ekleyerek oyunu bitirdim.

Bu oyunu yapmaktan çok keyif aldım ve sonucu görmek için çok heyecanlıyım. Tek sorun, ok tuşlarına çok hızlı basarsak yılanın saçma sapan hareketler yapmaya başlaması. Sanırım bu oyunun kare hızından kaynaklanıyor ama henüz çözemedim.

Bir sonraki hedefim bir Tetris veya Tetris’ten daha basit bir oyun yazmak.

The game from here you can play.

Codes from here kontrol edebilirsiniz.

1 2 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest
Oldest Most Voted
Inline Feedbacks
View all comments