Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


Oyun Yapımı - 5 (Mayın ve Bonus Yerleştirilmesi ve Oyunun Amacına Karar Verme)

(319 kelime)
(1161 okuma)   Yazdırılabilir Sayfa




5. Mayın ve Bonus Yerleştirilmesi ve Oyunun Amacına Karar Verme:

Bu bölümde oyunumuzun amacına karar veriyoruz (biraz geç mi kaldık acaba.. :) ). Oyunumuzda 2 oyuncumuz vardı ve bunları birbirine ve oyun alanının kenarlarına çarptırdığımızda sekme hareketi sağlıyorduk. İsterseniz oyun alanımızda çarpılmaması gereken bölgeler belirleyelim (mayınlar), ve aynı zamanda alınabilecek ve alındığında bize puan kazandıracak ekstra cisimler koyalım (bonus). Artık oyunumuzun bir amacı var. En çok ekstra toplayan ve dolayısı ile en çok puan elde eden oyuncu oyunu kazanır.

İlk olarak Bonus ve Mine isimli sınıfları projemize ekledik. Bu iki sınıfta ortak olarak Ball sınıfından türemekteler. Yalnız çizim işlemi sırasında render() yordamını değiştirerek kendilerine özgü şekiller çiziyorlar. Ayrıca Bonus sınıfı update() yordamı ile kendi iç değişkenini devamlı günlüyor. Bu sayede render() sırasında bonuslar hareketli bir biçimde kendilerini çizdiriyorlar.

Geçen örneğimizde çarpışma kontrolleri ile ilgili yordamları direk olarak Player sınıfı içerisine koymuştuk. Bu sefer daha değişik bir yaklaşım izliyerek isHit() yordamını Entity sınıfında gerçekleştiriyoruz. Böylelikle Player, Mine ve Bonus sınıflarının tümü içerisinde isHit() yordami kullanılabiliyor. Player sınıfı içinde bulunan ball nesnesi ile isHit() işlevselliğine erişebiliyor.

Ana program döngümüzde renderScene() yordamı içerisinde yer alan çarpışma kontrolü ile ilgili kısımları bu saydığımız değişikliğe uygun olarak güncelledik. Aynı zamanda mayına çarpılınca bir sekme hareketi gerçekleştirilmesini ve bonusların üzerinden geçilince (çarpılınca) bonusun ortadan kaldırılmasını (bonus.setVisible(false)) ve oyuncu puanının arttırılması sağladık. Ayrıca oyuna bir değişiklik getirmek amacı ile her puan alınışında oyuncu büyüklüğünü bir miktar da değiştiriyoruz.

Henüz oyunumuzun bir bitiş koşulu yok. ESC tuşu ile oyundan çıkıldığında stdout.txt isimli bir kütük oluştutulup içine oyuncu puanları yazılıyor. İlerleyen derslerimizde oyunumuza doku kaplamaları ile biraz renk getirip, anlamlı bitiş ve başlangıç bölümleri ekleyeceğiz.

Sitemizin "Dosyalar/Döküman ek dosyaları" bölümünde yer alan Oyun Yapımı - 5 isimli kütük içerisinde her zamanki gibi proje kodunu ve çalıştırılabilir halini bulabilirsiniz. Kod içerisinde bulunan açıklama satırları ile projede gelinen kısmı kısa zamanda kavrayacağınızı düşünüyorum. İyi çalışmalar.

Deniz Aydınoğlu :: 2002 ::



  

[ Geri Dön: Oyun Yapımı (Genel) | Bölümler İndeksi ]




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.041 Saniye