Allegro da mantar ezme oyunu

Başlatan mrti14, 31 Temmuz 2012 - 20:24:52

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

mrti14


Allegro da yazdığım basit programı biraz geliştirdim.Super Mario daki mantarları ekledim.Rastgele kordinatlarda ilerliyorlar.Haggar da zıplayıp ezmeye çalışıyor.Ezilen mantarlar ezik olarak yollarına devam ediyor.Her mantar 5 puan. Ayrıca haggar ilerleyince arkaplanda geriye doğru gidiyor.Ezme olayı ise haggarın en dip kısmı yani  y+boyu mantarın  y+boyu+6  ve y+boyu-6  arasında olursa gerçekleşiyor.Burda 6 pikseli deneyerek en iyi olarak seçtim.

Dip not: Kodlar baya karmaşık oldu gibi birazda hatalar olabilir.İyi bir düzene sokmak gerekiyor.
Dip not2: Oyuna daha onlarca yeni özellik yeni karakter yeni bölüm yeni efekt yada menü eklenebilir zenginleştirilebilir.Ama benim şimdi yapmak istediğim ağ programlama ile online oynayabilme.Ondan sonra daha iyi şekilde tekrar tasarlanabilir.
Dip not3:Mantarların konumlarına göre haggarın önündemi arkasında mı olacağını ayarlayamadım.O yüzden mantarların hepsi hagarın arkasından geçiyor.
Dipnot4:Oyun işlemciyi tamemen kullanıyor bunun önüne geçmek için rest(); fonksiyonu koydum.Fakat oyun performansını düşürüyor diye aktif etmedim.Derleme yaparken main.cpp de önündeki yorum tikini kaldırarak aktif edebilirsiniz.

Visual C++ Dosyaları: https://www.box.com/s/09acab6b2c9f51b819fc

Linux İçin: https://www.box.com/s/adfc8f5d60caa27f1fd8

Linuxdaki kodlar için oyuncu.h ye stdbool.h kütüphanesini ekledim.Ayrıca bolum_bir.h deki uzak_mantara ilk atamayı sıfır olarak değiştirdim.

Derleme için şu kodu kullanmalısınız:

gcc main.c bolum_bir.c anim.c hareket.c `allegro-config --libs` -fgnu89-inline -std=c99

heartsmagic

@mrti14, eğer yaşın forumda göründüğü gibiyse tebrik ederim seni bu çalışmadan ötürü. Aslında bu yaş çok erken değil, zira dışarıda görüyoruz birçok insan çok daha erken yaşlarda çok daha büyük işlere imza atıyorlar. Fakat bizim ülkemizde durum pek böyle değil. Umarım yavaş yavaş bizde de işler bu noktaya gelir.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

mrti14

heartsmagic  nickim biraz eski 14 yaşındayken almıştım değiştirmeden heryerde kullanıyorum :) gerçek yaşım 19.

ct

@mrti14 Deb paketi isterüz diye bodoslama dalıyorum :D Elinize sağlık paket olsa kuran sayısı daha çok artar diye düşünüyorum.

mrti14

Paket yapılacak kadar güzel bir proje değil bence.Soket programlama yolu ile online oynanma işini çözebilirsem daha iyi bir şeyler yapılabilir.Aslında benim hayalimdeki oyun team fortress 2  nin 2 boyutlu oynanabilir hali.Ama şimdilik bu oyunu geliştirmeyi düşünüyorum.Diğer popüler atari oyunlarından grafikleri alıp yeni bölümler modlar yapmayı planlıyorum.Bir ileriki adım olarakda harita yapıcak temel kuralları koyucak bir editörü arayüzü gibi birşey lazım.Gtk da biraz denedim ama ingilizcem fazla olmadığı için ve örnek fazla bulamadığım için çok sıkıntılı.Allegroda rahat yapılır sanırım ama pek güzel gözükmez.

krwlng

Gayet güzel olmuş ellerinize sağlık. Haggar ile mantarların yürüme hızı farklı olsa daha güzel olur bence, kaçan mantarı kovalamak anlamsız oluyor bu haliyle :) Bir de 3 mantar Haggar'a çarpınca oyun bitse mesela.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

mrti14

Yeni güncellemeler yapıcam yakında.Lakin kodlar benim hiç hoşuma gitmiyor.Acama bunu c++ yazmış olsaydık daha mı iyi olurdu.

sem

Daha denemesem de şimdiden helal olsun diyorum =)

Elinize sağlık...

Ben şimdiye kadar Allegro'yu duymadım ve kullanmadım. Bu konuda bizi aydınlatmak isterseniz konuk yazar olarak sizi SUDO'da ağırlayabiliriz.

Çalışmalarınızın devamını hem dilerim hem beklerim =)

Kolay gelsin...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

Alıntı yapılan: mrti14 - 01 Ağustos 2012 - 15:00:30
heartsmagic  nickim biraz eski 14 yaşındayken almıştım değiştirmeden heryerde kullanıyorum :) gerçek yaşım 19.

14 değil de 19 için konuşmuştum ben aslında :) Bu nedenle "Aslında bu yaş çok erken değil" demiştim. Eğer 14 olarak düşünseydim yaşını erken bile demezdim. Profilinde yazıyor yaş bilgin, o bağlamda konuşmuştum. Tekrar eline sağlık diyorum.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

mrti14

Alıntı yapılan: heartsmagic - 02 Ağustos 2012 - 12:52:30
Alıntı yapılan: mrti14 - 01 Ağustos 2012 - 15:00:30
heartsmagic  nickim biraz eski 14 yaşındayken almıştım değiştirmeden heryerde kullanıyorum :) gerçek yaşım 19.

14 değil de 19 için konuşmuştum ben aslında :) Bu nedenle "Aslında bu yaş çok erken değil" demiştim. Eğer 14 olarak düşünseydim yaşını erken bile demezdim. Profilinde yazıyor yaş bilgin, o bağlamda konuşmuştum. Tekrar eline sağlık diyorum.

;D  Tamamdır.

Aslında bu projeyi yada daha iyisini  çok daha önce yapardım da biraz bişeler yapınca devamı gelmiyor atalet mi tembellik mi nedir bilemedim. :D  Bana sorarsan yaşım baya geç oldu.Keşke 14 -15 yaşımdan beri düzenli displinli programlama ve elektronikle ilgilenseydim.Şimdi artık bir şeyler yapmaya başlıcam inşallah.  Python java c++ ve visual c# ile ilgili 4 kitap aldım.Java ve pythonu ufak ufak çalışıyorum artık bakalım bişiler yapabilecezmi? Neyse şimdilik kısa hedef soket programlama...

heartsmagic

Hiçbir şey için geç değil, yeter ki istek olsun :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Erdem

Alıntı yapılan: mrti14 - 01 Ağustos 2012 - 15:29:29
Acama bunu c++ yazmış olsaydık daha mı iyi olurdu.

Gerçekten güzel bir başlangıç olmuş. Ben de senin gibi düşünüyorum sanırım C++ ile daha kolay olurdu. Hatta daha da iyisi D kullanabilirsin.

Bir örnek olarak benim başlangıç olarak SDL kullanarak D ile yazdığım örnek bir oyunu (yarım kaldı desek daha doğru olur  ;) ) incelemek isteyebilirsin.

https://github.com/erdemoncel/oyun
Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik