21 Ağustos 2013 Çarşamba

Greenfoot ile Top Sektirme Oyunu

Bu yazıda sizlere bir top sektirme oyunu üzerinden fare olaylarını anlatmaya çalışacağım. Öncelikle fareyi kontrol etmek için hangi sınıfların hangi metodlarını kullanacağımıza bir göz atalım.

Greenfoot sınıfının mousePressed() metodu farenin tuşlarından birine basıldığında true değer döndürür. Bir önceki cümleden anlaşıldığı üzere boolean bir metoddur. Parametre olarak this veya null değerini alır. This değerini alırsa sadece fare kendi üzerine tıklarsa koşul gerçekleşir. Null değerindeyse herhangi bir yere tıklandığında koşul gerçekleşmiş olur.
turnTowards(fare.x,fare.y) metodu nesnenin açısını farenin açısına eşitler.
mouseClicked() metodu mousePressed() metoduna benzer. Aralarındaki fark şudur: mousePressed() metodunda farenin herhangi bir tuşuna basma ile çekme arasında sonsuz defa işlem yapabilir. Ancak mouseClicked() metodu bu arada sadece bir defa işlem yapar. Şimdi diğer sınıfımıza geçelim. MouseInfo sınıfını kullanabilmek için bir MouseInfo türünden bir referans oluşturmamız gerekir. Şu şekilde:

MouseInfo fare = Greenfoot.getMouseInfo();
Şimdi sınıfın metodlarına bakalım.

getX(): Farenin x koordinatı üzerindeki değerini geri döndürür.
getY(): Farenin y koordinati üzerindeki değerini geri döndürür.
getButton(): Farenin hangi tuşuna basıldığını gösterir. Eğer döndürdüğü değer bire eşitse sol tuşa, ikiye eşitse ortadaki tuşa ve üçe eşitse sağ tuşa bastığı anlamına gelir. Sınfıfların metodlarını gördüğümüze göre oyunumuzu yapmaya başlayabiliriz. Öncelikle yeni bir Greenfoot Projesi açıyoruz.

Hemen ardından "Top" adında bir aktör ve "Oyun" adında bir dünya yaratıyoruz. "Oyun" adlı dünyamıza çift tıklayıp açılan pencereye şu kodları yazıyoruz:

Oyun.java
import greenfoot.*;
import java.awt.Color;
public class Oyun extends World
{
public Oyun()
{
super(300,300,1); // 300x300 boyutlarında bir dünya yarattık.
getBackground().setColor(Color.GREEN);
getBackground().fill(); // arkaplanı yeşil yaptık.
Top top = new Top(); // top nesnesi oluşturduk.
addObject(top,150,150); // nesnemizi dünyaya ekledik.
}
}
Şimdi "Top" adlı aktörümüze çift tıklayıp açılan pencereye şu kodları
yazıyoruz:

Top.java
import greenfoot.*;
public class Top extends Actor
{
private int yercekimi;
public Top()
{
setImage("top.png");
}
private void yercekimi(int ekle) // bununla ilgili bir yazı yazmıştım.
{
yercekimi += ekle;
setLocation(getX(),getY() + yercekimi);
}
private void sektir()
{
if(Greenfoot.mouseClicked(this))
{
yercekimi = 0;
setLocation(getX(),getY() - 10);
}
}
public void act()
{
yercekimi(1);
sektir();
if(getY() >= getWorld().getHeight() - 1)
{ /* eğer y koordinatımız dünyamızın boyunun 1 eksiğine eşitse
ölürüz. */
getWorld().removeObject(this);
}
}
}
Gördüğünüz gibi öğrendiklerimizi uygulayarak basit bir oyun yaptık. Siz isterseniz oyuna skor ekleyebilir ve topun x koordinatında hareket etmesini de sağlayabilirsiniz.

17 Ağustos 2013 Cumartesi

Square Kart

Yapmaya çalıştığım yeni araba oyunu. Bugün ilk versiyonunu yayınladım ilk versiyon şu özelliklere sahip:
17/08/13
- Araba
- Tur ve güç göstergesi
- Bitiş çizgisi
- Fare veya klavyeyle kontrol sistemi
19/08/13
- Hata giderildi
- Motor sesi.
28/08/13
- Kontrol noktası sistemi yapıldı.
- Çimen deseni eklendi.
11/09/13
-Tur sayısını belirleme
-2 kişilik
-Daha fazla ses
Oyun bitmiştir, http://www.greenfoot.org/scenarios/9186 bu adresten oyuna erişebilirsiniz.

15 Temmuz 2013 Pazartesi

Lanetlenmiş Renkler

Aslında yaptığım oyunun adı Black-White ancak Türkçe film adı çevirilerine gönderme olsun diye başlığın adını Lanetlenmiş Renkler koydum ehehhhe
Oyunun açık kaynağına http://cl.ly/2P0r1Z3n2G0w adresinden ulaşabilirsiniz. Veya http://www.greenfoot.org/scenarios/9008 adresinden çevrimiçi olarak oynayabilirsiniz. İyi günler.

9 Haziran 2013 Pazar

Bilgisayar Oyunlarının Zaman Çizelgesi

1860 yılında Charles Babbage halka ve çarpı oynanabilecek bir oyun tasarlamıştı. Altı makineyi bir odaya koymayı ve çocuklara bu makinelerde oyun oynatmayı planlıyordu. Aslında fark etmeden de olsa, ortaya çıkmasından 100 yıl önce arcade oyunlarını bulan ilk kişi olmuştu…
1972
“Pong” adında bir oyun ABD’nin Seattle eyaletinde ortaya çıktı. Atari adında bir firma tarafından üretilen bu oyun kısa sürede çok popüler oldu. Aslında tenis oyununun elektronik uyarlamasıydı. İki oyuncu “sopalarını” kullanarak (bir kumandayla hareket ettirilen dikdörtgen biçiminde çubuklar) bir topa (ekrandaki beyaz bir nokta) ve ağın (ekranın ortasındaki bir çizgi) üzerinden geçirmeye çalışıyorlardı. Siyah beyaz olmasına ve üç dakikadan kısa sürmesine rağmen, Pong çok beğenilen bir oyun olmuştu.
1978
İlk savaş oyunu Space Invaders kısa sürede büyük bir başarı sağladı. Örümcek şekilli uzaylıları vurmak çok eğlenceliydi ve birçok insan oyunun tutkunu haline geldi. Hatta bu nedenle, bir milletvekili oyunu yasaklatmaya çalıştı.
1980
Atari, Commodore ve diğer Amerikan şirketleri evde oynanabilecek oyunlar piyasaya sürdü. Bu oyunlar ya kartuşlar olarak satılıyor ve özel oyun makinelerinde kullanılıyor ya da disket halinde kişisel bilgisayarlara yüklenebiliyordu. Bu oyunlar çok tutuldu ta ki…
1983
Artık kişisel bilgisayarlar daha ciddi işler için kullanılmaya başlandı ve oyunlar gözden düştü. Eskiden yılda 3 milyar dolar getiren oyun pazarı on iki ay içinde gücünü kaybetti.
1985
Nintendo adında bir Japon şirketi, Game-Boy adında küçük bir oyun aleti piyasaya sürdü ve oyuncuların yüzünü güldürdü. Aletle birlikte piyasaya çıkan Tetris adında bir oyun, 40 milyon adet satışa ulaştı.
1986
Aynı şirket bu kez ilk gerçek oyun konsolu olan Nintendo Entertainment System(NES)’i piyasaya sürdü ve ilk kez bir oyun kahramanı doğdu. Bu kahramanın adı Mario’ydu ve bir musluk tamircisiydi.
1989
PC oyunları artık CD-ROM’larda satılmaya başladı. Böylece oyunlarda daha karmaşık grafikler ve ses efektleri kullanılabilecekti. Ancak CD-ROM sürücüleri olan bilgisayarlar çok pahalıydı.
1991
Sega adlı başka bir Japon şirketi garip kahramana sahip yeni bir oyunu piyasaya sürdü. Kahraman Sonic adında mavi, zıplayıp dönen bir kirpiydi.
1994
Başka bir Japon şirketi Sony, Playstation konsollarıyla oyun pazarına dahil oldu. O tarihten beri, Nintendo, Sony ve Sega oyun konsolu pazarına egemen olmuştur.
1997
Nintendo N64 adındaki oyun konsolunu piyasaya çıkardı. Bu konsol o zamana dek yapılan en hızlı oyun konsoluydu.
1998
1980′de çıkan Atari oyunlarını toplayan oyun canavarları 5 sterline aldıkları oyunları koleksiyonculara 500 sterline satıyorlar.
Kaynak: Michael Coleman, 2009, Gıcık Bilgisayarlar, 4, Timaş

25 Mayıs 2013 Cumartesi

Greenfoot Gece Gündüz

Merhaba arkadaşlar uzun süredir yazmıyordum. Bu yüzden kusuruma bakmayın şimdi fazla uzatmadan konuya kodları yazıp açıklamamı yapayım.
import greenfoot.*;
import greenfoot.*;
public class Gece extends Actor
{
    GreenfootImage resim = new GreenfootImage(640,480);
    public Gece()
    {
        resim.fillRect(0,0,640,480);
        resim.setTransparency(0);
        setImage(resim);
    }
    public void act()
    {
        if(Greenfoot.isKeyDown("space"))
        {
            resim.setTransparency(140);
        }
        else if(!Greenfoot.isKeyDown("space"))
        {
            resim.setTransparency(0);
        }
    }
}
Gördüğünüz gibi öncelikle 640'a 480'lik(dünya nesnesinin width ve height'i oluyor bu) bir resim nesnesi oluşturuyoruz. Ve setTransparency metodu ile transparanlığını ayarlayarak gece ve gündüzmüş hissiyatı veriyoruz. Kolay gelsin.

25 Nisan 2013 Perşembe

Booci

Merhabalar, sizlere yaptığım yeni bir oyunu tanıtmak istiyorum. Oyunun adı Booci ve oyundaki amacınız size doğru gelen platformlara atlayarak ölmemeye çalışmak. Oyunu aşağı yön tuşu hariç diğer yön tuşları ile oynuyorsunuz. Ayrıca space tuşu ile Booci'yi oluşturabilirsiniz. Jar dosyası veya açık kaynak halinde oyunu indirebilirsiniz.

18 Nisan 2013 Perşembe

TDS Oyunu

Greenfoot ile yaptığım TDS oyununu sizlere tanıtmak istiyorum. Oyundaki amacınız zombileri vurarak puan toplamaktır. Karakteri kontrol etmek için wasd veya yön tuşlarını kullanmalısınız. Ateş etmek için fareye tıklamalısınız.
Link: http://www.greenfoot.org/scenarios/8038