Assembly ile Satranç Tahtası Oluşturma

320 kez okundu

Nis
15

Mikroişlemciler dersinin bir gereği olarak, biraz da önümüzdeki hafta olacak vizesi dolayısıyla assembly diline de giriyorum bu makalemle. Yazının konusu, temelde bir çizgi çizdirme uygulaması. Çizgilerle 8×8 kareler oluşturarak bir satranç tahtası görünümü vereceğiz ekrana. Problem oldukça açık, kodlar üzerinde yorum satırlarıyla gerekli açıklamaları yaptım. Ancak önemli bulduğum bazı kod blokları var. Bu önemli noktalara da değindikten sonra kodlara geçeceğim.

Öncelikle şunu belirtmek isterim ki, assembly ile çizgi çizdirmeyi

Devamını oku… »

Yorum ( 1 )

Csharpta Koordinat Sistemi Oluşturma(Çok Boyutlu Diziler)

393 kez okundu

Nis
10

Makalenin konusu, C#’ta çok boyutlu dizilere örnek olabilecek bir koordinat sistemi uygulaması. Programda kullandığım ve C#’ metodlarından Math sınıfında bulunan Sqrt fonksiyonunun kullanımına da değineceğim. Örnek uygulama, kullanıcı tarafından girilen x, y koordinatlarına sahip noktanın, koordinat düzleminde bulunan ve daha önceden belirlenmiş olan 5 noktaya olan uzaklıklarını tek tek hesaplayarak bu uzaklıklara göre noktaları yakından uzağa olacak şekilde sıralyor. Uygulama hakkındaki genel bilgiden sonra kod kısmına da değinelim.
Programın Main fonksiyonunda koordinat düzleminde hazır bulunacak 5 adet noktanın x ve y koordinatları çift boyutlu bir dizide

Devamını oku… »

Yorum ( 1 )

Android Oyun Programlama Ders 10 : Nesnelere Hız Verme

1.290 kez okundu

Oca
29

Android oyun geliştirme derslerinin onuncusunda hız kavramına ve nesnelere nasıl hız verilebileceğine değineceğim.
Geride kalan tüm makalelerimde sizleri bir şeyin yanılttığını tahmin ediyorum. Bahsettiğim konu, nesneleri sürükleme konusu. Nesneleri sürükleme uygulamalarında sprite’ları parmağımızla hareket ettirdik ama hız vermedik! Lise yıllarından da hatırlayacağınız üzere hız, fiziksel bir olaydır. Yani bizim sprite’ ları kullanarak sürüklediğimiz nesneler birer görüntüden ibarettir. Fiziksel anlamda bir varlık ifade etmezler ki sürükleme uygulamalarında yaptığımız şey nesneye hız vermek değil, sadece yerini değiştirmekti. A noktasında oluşturulan bir nesneyi oradan silip B noktasında oluşturmaktı yaptığımız. Mantığı oturttuktan sonra – en azından ben öyle düşünüyorum=) – hız hangi ortamda, nasıl ve neye verilir sorularının cevaplarına değineyim.

Hız kavramından bahsedilmesi için tabi ki ortamın fiziksel bir ortam olması gerekir. Yani ilk şart

Devamını oku… »

Yorum Yaz!( 0 )

Android Oyun Programlama Ders9: Sprite Sürükleme Uygulaması (2)

1.043 kez okundu

Oca
28

Android oyun geliştirme derslerinin dokuzuncusunda bir sprite sürükleme uygulaması daha yayınlıyorum takipçilerimden birinin karşılaştığı bir problem üzerine. Öncelikle diğer uygulamada yaptıklarımı ve bu uygulamada nasıl bir yapı kullanacağımı anlatmak istiyorum.
Aslına bakılırsa ilk uygulama da aynı işi yapıyor. Fakat buradan ulaşacağınız diğer uygulamada, sahnenin onSceneTouchEvent metodunu kullandık ki bu metod ekranın her yerinde geçerli olacağından global bir kullanım alanı sunuyor bize. Bu yapıda karşılaşacağımız sorunlardan bir tanesi, sahnede(Scene) kontrol edilmesi ve bir şekilde hareket etmesi gereken ikiden çok nesne varsa, her birinin kontrolünün ayrı ayrı bu yapıda sağlanması çok zor olacaktır. İşte bu makalemin konusu bu problemi çözmeye yöneliktir.
Kodlama kısmına geçmeden önce nesnelerin her birini ayrı ayrı kontrol etmeyi amaçlayan uygulamanın gerçekleştirilmesi sırasında nasıl bir yol izlenmesi gerektiğine kısaca değineyim. Yukarda bahsettiğim sahne nesnesi için yazılmış olan onSceneTouchEvent metoduna eşdeğer onAreaTouched metodunu her bir sprite’ a ayrı ayrı yazmak sorunu çözecektir. Uygulamaya göz attığınızda daha iyi anlayacaksınız, buyrun:

Devamını oku… »

Yorumlar ( 4 )

Android Oyun Programlama Ders 8: Body Türleri ve Dinamik-Statik Body Farkları

1.295 kez okundu

Oca
24

Android oyun geliştirme derslerinin sekizincisinde fizik uygulamalarında kullanılan body kavramının türlerine hem şekil bakımından hem de dinamiklik-statiklik bakımından değineceğim.

Hızlı bir giriş ile şekil bakımından ne tür body şekilleri olduğuna bakalım. Daha önceki örnekten küçük kod alıntıları üzerinden ne tür şekiller olduğuna bakarsak, daha açık ve net bir anlatım olacağı kanaatindeyim. Şekiller ve oluşturulduğu kod bloklarının tamımını verdikten sonra açıklamaları yapmak istiyorum. Öncelikli olarak ilk body şekli, BoxBody‘dir. Oluşturulma kodu aşağıdaki gibidir:

1
body1 = PhysicsFactory.createBoxBody(this.physicsWorld, spriteResim1, BodyType.DynamicBody, FIXTURE_DEF);

İkincisi CircleBody:

1
body1 = PhysicsFactory.createCircleBody(this.physicsWorld, spriteResim1, BodyType.DynamicBody, FIXTURE_DEF);

Üçüncüsü PolygonBody:

1
2
3
Vector2 []vector = new Vector2[5];
//Burada vector dizisine vektörler eklenir
body1 = PhysicsFactory.createPolygonBody(this.physicsWorld, spriteResim1, vector, BodyType.DynamicBody, FIXTURE_DEF);

Dördüncüsü TrianglulatedBody:

Devamını oku… »

Yorum ( 1 )

Android Oyun Programlama Ders 7: PhysicsWorld ve Body Oluşturma Uygulaması(Top Sektirme)

1.045 kez okundu

Oca
18

Android ile oyun programalama dersinin yedincisinde Daha önce anlattığım PhysicsWorld ve Body kavramlarının kullanımlarını örnek bir uygulama ile açıklayamaya çalışacağım.

Bir önceki yazıda ana mantığı anlatmıştım. Bu yüzden tekrar aynı şeylerden bahsetmenin pek anlamlı olacağını düşünmüyorum. Bu yüzden örnek uygulamayı anlatmak istiyorum. Örnek uygulamada bir PhysicsWorld oluşturdum. Bu PhysicsWorld’ ün özelliklerinin belirtilebileceği bir de FixtureDef nesnesi tanımladım. Bu nesnenin yapıcı metodu sırasıyla yoğunluk, esneklik ve ortamın sürtünme katsayısını içine parametre olarak alır. Aşağıdaki gibi tanımlanır.

1
private final FixtureDef wallFixtureDef = PhysicsFactory.createFixtureDef(1, 0.8f, 0.5f);
1
this.physicsWorld= new PhysicsWorld(new Vector2(SensorManager.GRAVITY_EARTH, 0), false);

Yine yukarda oluşturulan PhysicsWorld nesnesi ise içine parametre olarak bir

Devamını oku… »

Yorumlar ( 3 )

Android Oyun Programlama Ders 6: PhysicWorld ve Body Kavramı

1.126 kez okundu

Oca
13

Android oyun programlama derslerinin altıncısında daha önce kurulumunu anlattığım fizik motorunun kullanımını, özelliklerini, programcıya sağladığı kolaylıkları ve ne gibi fonksiyonları gerçekleştirdiğine değineceğim. Bir sonraki derste de uygulamalı olarak burada anlattığım işlemleri gerçekleştireceğim.

NOT: Fizik motorunun ne olduğunu, androidde kullandığım fizik motorunun özelliklerini ve kurulumunu buradan öğrenebilirsiniz.

Oyunlarda bildiğiniz üzere nesneler vardır. Bu nesnelerin birbirleriyle etkileşmesi gerekir. Şöyle ki; iki cismin birbiriyle çarpışmasıyla cisimlerin yöneleceği doğrultunun, çarpışmadan önceki hız, yön ve ağırlık bilgilerine göre hesaplanması gerekir. İşte bu gibi olaylarda fizik motorları programcının yapacağından daha iyi performansla

Devamını oku… »

Yorumlar ( 2 )