Benim de chain... grubu olarak Windows Experience Award kazandıgım Microsoft Imagine Cup 2009 yarısmasında birinci olan Istanbool ekibini desteklemek icin lutfen oy verelim.
http://peopleschoice.imaginecup.com/default.aspx
01 Temmuz 2009 Çarşamba
29 Nisan 2009 Çarşamba
Kısa Bir Not - Imagine Cup 2009
Microsoft'un her sene düzenledigi Imagine Cup yarısmasına chain... grubu olarak katıldık. Yazılım tasarımı kategorisinde ilk 7 grup arasına kalarak Türkiye Finali'nde projemizi sunma fırsatı elde ettik. Cok buyuk tecrube ve deneyim kazandıgımız yarısma sonucunda "Windows Experience Award" kazandık. Ayrıca dünya klasmanında degerlendirilen Tasarım kategorisinde de ikinci asamaya gecme imkanı yakaladık.
Herkese destekleri icin tesekkur ediyorum.
Herkese destekleri icin tesekkur ediyorum.
Yeni Bir Ortam
Hepimiz kendi baloncugumuzda yasamiyor muyuz ?
Proje ve odevler canini mi sIkIyor? Kendini bir balonun icine hapsolmus gibi mi hissediyorsun? Simdi bu baloncugu patlatmanin ve dis dunyaya baglanmanin kolay bir yolu var. http://www.balonunupatlat.com
Proje ve odevler canini mi sIkIyor? Kendini bir balonun icine hapsolmus gibi mi hissediyorsun? Simdi bu baloncugu patlatmanin ve dis dunyaya baglanmanin kolay bir yolu var. http://www.balonunupatlat.com
14 Ocak 2009 Çarşamba
XNA - Var Olan Oyun Üzerinde Değişiklikler Yapmak
Bu yazıda, var olan bir oyun üzerine basit eklentiler yaparak oyunu değişik bir hale getireceğiz. Üzerinde değişiklikler yapacağımız oyun, XNA Creators Club 'da bulunan ve oyuncuların, mermiler fırlatarak geçen uzay araçlarını yok etmeye çalıştıkları oyundur. Bu oyunun kaynak koduna aşağıdaki linkten erişebilirsiniz.
http://creators.xna.com/en-US/education/gettingstarted/bg2d/chapter9
Kaynak kodu indirdikten sonra bu kod üzerinde aşağıdaki ufak değişiklikleri yapalım.
Öncelikle ateş ettiğimiz topu biraz aşağıya alalım. Bunun için, "LoadContent" metodu içindeki
cannon.position = new Vector2(120, graphics.GraphicsDevice.Viewport.Height - 80);
satırını
cannon.position = new Vector2(120, graphics.GraphicsDevice.Viewport.Height - 40);
olarak değiştirelim. Şimdi, ateş ettiğimiz topu sağa sola hareket ettirelim. Bunu sağlamak için "Update" metodunda yer alan
if(keyboardState.IsKeyDown(Keys.Left))
{
cannon.rotation -= 0.1f;
}
if(keyboardState.IsKeyDown(Keys.Right))
{
cannon.rotation += 0.1f;
}
kod parcasının yerine
if (keyboardState.IsKeyDown(Keys.Left) && viewportRect.Contains(new Point((int)cannon.position.X - 120, (int)cannon.position.Y)))
{
cannon.position.X-= 1.0f;
}
if (keyboardState.IsKeyDown(Keys.Right) && viewportRect.Contains(new Point((int)cannon.position.X + 120, (int)cannon.position.Y)))
{
cannon.position.X += 1.0f;
}
if(keyboardState.IsKeyDown(Keys.Up))
{
cannon.rotation -= 0.1f;
}
if(keyboardState.IsKeyDown(Keys.Down))
{
cannon.rotation += 0.1f;
}
satırlarını koyalım. Bu değişikliği yaptığımızda artık ateşettiğimiz top, sağa sola hareket edebilmektedir. Fakat farkedilebileceği gibi ateş ederken top tamamen sola dönmemektedir. Bunu sağlayabilmek için aşağıdaki satırda ufak bir değişiklik yapmak gerekmektedir.
cannon.rotation = MathHelper.Clamp(cannon.rotation, -MathHelper.PiOver2, 0);
Bu satır yerine aşağıdaki satırı yerleştirelim.
cannon.rotation = MathHelper.Clamp(cannon.rotation, -2 * MathHelper.PiOver2, 0);
Artık ateş ettiğimiz topumuz, yani "cannon" nesnemiz tamamen sola dönebilmektedir. Şimdi de "updateEnemies" metodu ile oynayarak uzay araçlarının geliş şekillerini değiştirelim. "updateEnemies" metodunu aşağıdaki metod ile değiştirirseniz göreceksiniz ki, uzay araçları artık belirli açılarla gelcektedir. Bu da oyunu az da olsa zorlaştıracaktır.
public void UpdateEnemies()
{
foreach (GameObject enemy in enemies)
{
if (enemy.alive)
{
Rectangle cannonUpperLimitRect = new Rectangle(0, viewportRect.Height - 200, viewportRect.Width, 200);
Rectangle upperRect = new Rectangle(0, 0, viewportRect.Width, 10);
if (!cannonUpperLimitRect.Contains(new Point((int)enemy.position.X, (int)enemy.position.Y)) && !upperRect.Contains(new Point((int)enemy.position.X, (int)enemy.position.Y)))
{
enemy.position += enemy.velocity;
}
else
{
enemy.velocity.Y = 0;
enemy.position += enemy.velocity;
} if (!viewportRect.Contains(new Point((int)enemy.position.X, (int)enemy.position.Y)))
{ enemy.alive = false;
}
}
else
{ enemy.alive = true;
enemy.position = new Vector2(viewportRect.Right, MathHelper.Lerp((float)viewportRect.Height * minEnemyHeight, (float)viewportRect.Height * maxEnemyHeight, (float)random.NextDouble()));
enemy.velocity = new Vector2(MathHelper.Lerp(-minEnemyVelocity, -maxEnemyVelocity, (float)random.NextDouble()), MathHelper.Lerp(-2, 2, (float)random.NextDouble()));
}
}
}
Burada yarattığımız cannonUpperLimitRect dikdörtgeni, uzay araçlarının yani "enemy" lerin "cannon" nesnemize çarpmasını engelemektir. Uzay araçları bu dikdörtgen hizasına gelince artık aşağıya gitmeyi bırakıp sadece sola doğru ilerlemektedirler.
Bu değişiklikleri yaptıktan sonra artık oyunumuzun yeni versiyonunu oynamaya başayabilirsiniz.
http://creators.xna.com/en-US/education/gettingstarted/bg2d/chapter9
Kaynak kodu indirdikten sonra bu kod üzerinde aşağıdaki ufak değişiklikleri yapalım.
Öncelikle ateş ettiğimiz topu biraz aşağıya alalım. Bunun için, "LoadContent" metodu içindeki
cannon.position = new Vector2(120, graphics.GraphicsDevice.Viewport.Height - 80);
satırını
cannon.position = new Vector2(120, graphics.GraphicsDevice.Viewport.Height - 40);
olarak değiştirelim. Şimdi, ateş ettiğimiz topu sağa sola hareket ettirelim. Bunu sağlamak için "Update" metodunda yer alan
if(keyboardState.IsKeyDown(Keys.Left))
{
cannon.rotation -= 0.1f;
}
if(keyboardState.IsKeyDown(Keys.Right))
{
cannon.rotation += 0.1f;
}
kod parcasının yerine
if (keyboardState.IsKeyDown(Keys.Left) && viewportRect.Contains(new Point((int)cannon.position.X - 120, (int)cannon.position.Y)))
{
cannon.position.X-= 1.0f;
}
if (keyboardState.IsKeyDown(Keys.Right) && viewportRect.Contains(new Point((int)cannon.position.X + 120, (int)cannon.position.Y)))
{
cannon.position.X += 1.0f;
}
if(keyboardState.IsKeyDown(Keys.Up))
{
cannon.rotation -= 0.1f;
}
if(keyboardState.IsKeyDown(Keys.Down))
{
cannon.rotation += 0.1f;
}
satırlarını koyalım. Bu değişikliği yaptığımızda artık ateşettiğimiz top, sağa sola hareket edebilmektedir. Fakat farkedilebileceği gibi ateş ederken top tamamen sola dönmemektedir. Bunu sağlayabilmek için aşağıdaki satırda ufak bir değişiklik yapmak gerekmektedir.
cannon.rotation = MathHelper.Clamp(cannon.rotation, -MathHelper.PiOver2, 0);
Bu satır yerine aşağıdaki satırı yerleştirelim.
cannon.rotation = MathHelper.Clamp(cannon.rotation, -2 * MathHelper.PiOver2, 0);
Artık ateş ettiğimiz topumuz, yani "cannon" nesnemiz tamamen sola dönebilmektedir. Şimdi de "updateEnemies" metodu ile oynayarak uzay araçlarının geliş şekillerini değiştirelim. "updateEnemies" metodunu aşağıdaki metod ile değiştirirseniz göreceksiniz ki, uzay araçları artık belirli açılarla gelcektedir. Bu da oyunu az da olsa zorlaştıracaktır.
public void UpdateEnemies()
{
foreach (GameObject enemy in enemies)
{
if (enemy.alive)
{
Rectangle cannonUpperLimitRect = new Rectangle(0, viewportRect.Height - 200, viewportRect.Width, 200);
Rectangle upperRect = new Rectangle(0, 0, viewportRect.Width, 10);
if (!cannonUpperLimitRect.Contains(new Point((int)enemy.position.X, (int)enemy.position.Y)) && !upperRect.Contains(new Point((int)enemy.position.X, (int)enemy.position.Y)))
{
enemy.position += enemy.velocity;
}
else
{
enemy.velocity.Y = 0;
enemy.position += enemy.velocity;
} if (!viewportRect.Contains(new Point((int)enemy.position.X, (int)enemy.position.Y)))
{ enemy.alive = false;
}
}
else
{ enemy.alive = true;
enemy.position = new Vector2(viewportRect.Right, MathHelper.Lerp((float)viewportRect.Height * minEnemyHeight, (float)viewportRect.Height * maxEnemyHeight, (float)random.NextDouble()));
enemy.velocity = new Vector2(MathHelper.Lerp(-minEnemyVelocity, -maxEnemyVelocity, (float)random.NextDouble()), MathHelper.Lerp(-2, 2, (float)random.NextDouble()));
}
}
}
Burada yarattığımız cannonUpperLimitRect dikdörtgeni, uzay araçlarının yani "enemy" lerin "cannon" nesnemize çarpmasını engelemektir. Uzay araçları bu dikdörtgen hizasına gelince artık aşağıya gitmeyi bırakıp sadece sola doğru ilerlemektedirler.
Bu değişiklikleri yaptıktan sonra artık oyunumuzun yeni versiyonunu oynamaya başayabilirsiniz.
11 Ocak 2009 Pazar
INETA EGE HIT TAMAMLANDI
Daron Yöndem ve Engin Yıldız' ın katılımıyla gerçekleşen Ineta Ege Hit sona erdi. İki gün süren etkinlik boyunca bir çok bilgi edinen kullanıcılardan etkinlik sonunda gayet olumlu tepkiler alındı. Öncelikle Daron Yöndem ve Engin Yıldız olmak üzere, Ineta Ege Hit'e katılan herkese teşekkür ediyorum.
03 Ocak 2009 Cumartesi
23 Kasım 2008 Pazar
BİLİŞİM '08 Gerçekleşti
Bilişimin kalbi 19 Kasım - 21 Kasım tarihleri arasında Ankara'da attı. Yakınsama teması ile yapılan etkinlikte, üç gün boyunca çeşitli konularda sunumlar yapıldı ve çok faydalı bilgiler dinleyicilerle paylaşıldı. Yeni teknolojiler hakkında yapılan tanıtımların yanı sıra bilgisayar dünyasının duayeni Aydın Köksal, konuşmalarıyla katılımcılara unutamayacakları dakikalar yaşattı. Benim için de böylesine önemli bir organizasyonda yer almak gerçekten çok keyifliydi.
Kaydol:
Kayıtlar (Atom)

