Amiral Battı

Java dersi projem idi. 2 kişilik bir amiral battı oyunu. Socket programming ile 2 farklı bilgisayardan (aynı bilgisayar da olabilir ama o zaman karşı tarafın gemilerini görebiliyorsunuz =)) oynanıyor. Host olacak taraf Host a Game butonuna tıklamalı, diğer oyuncuda hostun ip sini girip join a game ile host a bağlanıyor.

screenshot-battle-ship1

Oyun başladığında ilk iş gemileri yerleştirmek. Sol fare ile gemi yerleştiriliyor, eğer istenirse sağ fare tuşu ile 90 derece döndürülebilir. Hata yaptıysanız alttaki gemi resimlerinden gemiyi tekrar seçebilirsiniz.

Her iki taraf ta ready tuşuna basınca oyun başlıyor ve gemileri ilk tükenen oyunu kaybediyor.

Thread nedir ne değildir gibi bilgiler henüz bende yokken yaptığım için karşı taraftan mesaj bekleyen taraf sonsuz döngüde kalıyor. Bu arada da hiç bir çizim yapılamıyor. Genel olarak 2d çizim olayına da yeni olduğum için bazı bölümlerde hata olabiliyor (misal gemiler seçildikten sonra ilk elde ekran görünmüyor nedense. Çözememiştim bir türlü, projeyi gösterirken o kısmıda hızlı hızlı geçmiştim =D)

Windows ta eclipse üzerinden yazıldı, linux de javac ile derlenip çalıştığı görüldü. Grafikler başka bir amiral battı oyunundan araklandı =) (hatta o oyunda mesela tekli botlar yoktu onlar muhteşem grafik becerilerim ile üç kareye sahip olan geminin iki ucu birleştirilerek oluşturuldu. torpido şeklinde 2 karelik gemi de benzer şekilde deniz altıdan oluşturuldu)

http://www.shultays.com/amiral.tar.gz

Game of Life

Sıfır kişilik oyun diye anılan game of life isimli oyunun java kullanarak yazılmış hali. Staj zamanında yazdığımız için staj konusu (concurrent programming) oyunun kendisinden önemli idi. Burada ki amaç thread nasıl kullanılır, cyclic barrier nedir öğrenmek idi sanırım. Daha fazla bilgi için kodu inceleyebilirsiniz.

gameoflifeGame of life hakkında bilgi için,

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Kaynak dosyaları,

http://www.shultays.com/gameoflife.zip

(Comment yazarken farkettim ki o kadar da iyi bir kod sayılmaz)

Ayrıca bir de cep telefonu versiyonu var bunun ^^Elbette diğeri kadar kaynak isteyen bir şey değil.

http://www.shultays.com/gameoflife_me.java

Yalnız nasıl kuruluyor derleniyor, telefona kuruluyor hiç hatırlamıyorum =)