Tuesday, June 12, 2012

Eclipse İçine Android SDK ve Emulator Kurulumu

Uzun zamandır Eclipse içinde nasıl Android uygulaması geliştireceğimizle ilgili yazı yazmak istiyordum. Bunu yapmak için öncelikle Android SDK'sini yüklememiz gerekiyor. Burada anlatacaklarım "Eclipse Indigo" kullanılarak Windows XP üzerinde denenmiş ve sorunsuz bir şekilde çalışmaktadır. Farklı işletim sistemleri ya da Eclipse sürümlerinde yapılacak kurulumlarda hemen hemen aynı adımlar izlenmektedir. Öncelikle Android'i bilmeyenler için kısaca tanıtalım. Android, Google ve Open Handset Allience tarafından kodlanmış Linux İşletim Sistemi tabanlı bir mobil cihaz (PDA ve cep telefonları) için geliştirilmiş açık kaynak kodlu bir işletim sistemidir. Bu işletim sistemi üzerinde yapacağınız uygulamalar bugün hemen hemen her akıllı telefonda çalışabilecek durumdadır. Tabii versiyon farklılıkları bazen sıkıntı yaratabiliyor. Çok fazla uzatmadan kuruluma geçmek istiyorum.

Saturday, June 9, 2012

X8086 Microişlemcilerde Programlama - [Ders 1]

Üniversite hayatım boyunca birçok ders aldım. Bunlar arasında en sevdiklerimden birisi "CE 302" kodlu "Mikroişlemciler" adlı dersti. Dersin temel amacı, öğrencilere mikrobilgisayarları ve mikroişlemcileri tanıtmanın yanı sıra bu yapıların Assembly programlama dili ile programlanmasını öğretmekti. Bu uzun zamandır yazmak istediğim bir konuydu. Bu yazı Debug Kullanımı ve Debug üzerinde yapabileceğimiz kimi işlemler üzerine olmakla beraber kullandığım sistem Windows XP'dir. Daha fazla uzatmadan Debug kullanımına geçmek istiyorum.

DEBUG KULLANIMI

Debug, çoğunlukla X8086-X8088 mikroişlemcisi programlamada, simulasyon olarak kullanılan bir arayüz programıdır. Debug'ı çalıştırmak için sırasıyla şu işlemleri uygulamalısınız. Başlat > Çalıştır'a tıklayıp, çıkan pencerede "" bölümüne "cmd" yazıp "Tamam"a tıklayın, karşımıza çıkan dos ekranına "debug" yazıp enter tuşuna basıyoruz. Bu sayede simulasyon ortamına geçiş yapmış olduk. Enter tuşuna bastığımızda, bir alt satıra geçeceğiz. Debug, giriş yapmamızı söyleyen "-" ile bizi karşılayacak. Aşağıdaki resimde buraya kadar anlattıklarım gösteriliyor.

Knuckles Adventures - [Proje]

Herkese merhaba! Hazır yazın bol vaktim varken, bahsetmek istediğim diğer bir projede üniversite 3. sınıfta "SE 350" kodlu, "Oyun Programlama" dersinde Unity oyun motoru üzerinde C# programlama dili ve Standart Unity kütüphanelerini kullanarak bir arkadaşımla beraber yazdığım 2 boyutlu platform oyunu. Kısa ve klasik hikayemizdeki oyunun ana kahramanını hemen hemen hepiniz biliyorsunuz. Karakterimiz Knuckles. İşin bu kısmının tamamen farklı bir hikayesi var. Uygun bir vaktimde bu konuyuda sizinle paylaşmak istiyorum. Zira anlatacağım bazı şeyler disiplinler(branşlar) arası uyuşmazlığın projeyi götüreceği yer açısından önemi ile ilgili. Aslında oyunumuzun hikayesi çok farklıydı fakat kimi sebeplerden dolayı oyunun konusu ve akışı çok değişti bu yüzden oyunu çalıştırdığınızda oyunun ismini görmeyince şaşırmayın. Knuckles Adventures ismi ise şu an benim tarafımdan koyulmuş ismidir. Daha güzel isim önerilerine açık olduğumu belirterek oyunla ilgili ufak bilgiler vermeye devam ediyorum. Oyunumuzdaki temel amaç; ana karakterin türlü engeller içeren bölümleri geçerek kız arkadaşına ulaşması. Oyunda 5 farklı bölüm var. Her bölümde oyuncu engelleri aşarak hedefe ulaşmaya çalışıyor. Oyun içinde kullanıcı için arka planda bilgiledirici resimler de bulunmaktadır. Karakterimizi yön tuşları ile hareket ettiriyoruz. "Space" tuşu ile zıplayan karakter, herhangi bir kutunun yanına gelip "CTRL" tuşuna basınca kutuyu çekip, itebiliyor. Tekrar "CTRL" tuşuna basınca kutuyu bırakıyor. Oyunumuzda bir üst katlara geçmek için varolan asansörü çalıştırmak için ise, asansörün düğmesine "X" tuşu ile basmamız yeterli. Bu arada oyunumuzun mekanı olarak basit bir şantiye belirlemiştik. Ancak yaşanan bir takım sorunlar nedeniyle garip bir mekan ortaya çıktı. Bu oyun, diğer yaptığım oyunlara nazaran çok daha profesyonel ve görsellik açısından çok daha iyi. Oyun motoru kullanmak, yapacağımız işlerin gerçekten hafiflemesi anlamına geliyor. Bu noktada kodlamadan ziyade fikir ve tasarım ön plana çıkıyor. Oyun içinde kullandığımız sprite yukarıda da bahsettiğim gibi Knuckles karakteri, bunun dışında bazı ses dosyaları ve scriptler, bu oyunu(olurda) geliştirip ticari bir boyut kazandırmak isteyecek kişiler için sıkıntı yaratabilir. Bunun farkında olup paylaşacağım kaynak kodlarını ona göre yorumlarsalar herkes için daha iyi olur. Çok fazla uzatmadan oyunu resimler eşliğinde tanıtmak istiyorum.

Thursday, June 7, 2012

Polynomial Equations - [Proje]

Herkese merhaba! Çok uzun bir aradan sonra tekrar birlikteyiz. Gerek derslerin yoğunluğu, gerekse projelerin fazlalığı nedeniyle bloğa pek fazla yazı yazamamıştım. Ancak önümüzdeki günlerde blogla daha fazla ilgilenmeyi planlıyorum. Bugün sizlere OpenGL üzerinde 2 kişi birlikte geliştirdiğimiz, üniversite 3. sınıfta "SE 313" kodlu, "Bilgisayar Grafiği ve Görsel Programlama" dersinde Java programlama dili, OpenGL ve Glut kütüphanelerini kullanarak yazdığımız 2 ve 3 boyutlu polinom denklemleri çizdiren programı tanıtacağım. Programız kullanıcının girdiği ve seçtiği değerlere göre oluşan polinom denklemin grafiğini ekrana çizdiriyor. Programı yazarken belli limitler koydum mesela 2 ve 3 bilinmeyenli ve maximum 3.dereceden denklemleri çizdirebiliyoruz. Ancak kaynak kodlarda yapacağınız ufak değişiklikler sonucu bu sınırları genişletip, kısabilirsiniz. Şimdi projemi sizlere resimler eşliğinde daha detaylı bir şekilde açıklayacağım.