Ubuntu Türkiye

Yazılım => Programlama => C/C++ => Konuyu başlatan: mrti14 - 31 Temmuz 2012 - 20:24:52

Başlık: Allegro da mantar ezme oyunu
Gönderen: mrti14 - 31 Temmuz 2012 - 20:24:52
(https://forum.ubuntu-tr.net/proxy.php?request=http%3A%2F%2F1.bp.blogspot.com%2F-WpOePNCcT54%2FUBAzK6O5i3I%2FAAAAAAAAA5U%2FYuyQLrFvEYY%2Fs1600%2Fallegro%2Bfinal%2Bfight.PNG&hash=8f01c2e748d940ec7563f54d6223882b007a816f)

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 (https://www.box.com/s/09acab6b2c9f51b819fc)

Linux İçin: https://www.box.com/s/adfc8f5d60caa27f1fd8 (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
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: heartsmagic - 01 Ağustos 2012 - 11:20:20
@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.
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: 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.
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: ct - 01 Ağustos 2012 - 15:07:29
@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.
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: mrti14 - 01 Ağustos 2012 - 15:21:27
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.
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: krwlng - 01 Ağustos 2012 - 15:24:12
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.
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: mrti14 - 01 Ağustos 2012 - 15:29:29
Yeni güncellemeler yapıcam yakında.Lakin kodlar benim hiç hoşuma gitmiyor.Acama bunu c++ yazmış olsaydık daha mı iyi olurdu.
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: sem - 02 Ağustos 2012 - 12:25:55
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...
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: 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.
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: mrti14 - 04 Ağustos 2012 - 04:17:57
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...
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: heartsmagic - 04 Ağustos 2012 - 04:23:52
Hiçbir şey için geç değil, yeter ki istek olsun :)
Başlık: Ynt: Allegro da mantar ezme oyunu
Gönderen: Erdem - 04 Ağustos 2012 - 23:44:01
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