[Çözüldü] Yılan Oyununda Takılma Sorunu

Başlatan blacksnow, 13 Nisan 2015 - 20:16:01

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

blacksnow

Merhaba, oyun aslında sağlıklı bir şekilde çalışıyordu önceden(üzerinde uğraşmayalı 1-2 ay kadar bir süre oldu).Sonra bilgisayarı değiştirdim.Oyunu tekrardan denediğimde, bu sefer yılanda takılmalar oluyor.Benim tarafımdan olan bir hata olduğunu düşünmüyorum.Çünkü dediğim gibi daha önceden sağlıklı bir şekilde çalışıyordu.

Ubuntu' yu ilk yüklediğimde de benzer bir sorunla karşılaşmıştım.Oracle Java 8 yüklüydü ve takılmalar oluyordu.O zamanlar openjdk7 yüklediğimde bu sorun ortadan kalkmıştı.Şimdi yeni bilgisayar da hem oracle hem de openjdk ile denedim, takılmalar ikisinde de oluyor.Takılmalar derken, yılan kare kare gitmekte ve yaklaşık 6-7 kare de bir yarım saniyeden az bir süre takılıyor.İşlemci ve ram' de anormal bir durum da yok gözlemlediğim kadar.

Oyunu Windows üzerinde denedim.Herhangi bir takılma olmuyor.Yani sorun benden kaynaklı olsa ikisinde de aynı sorunu göstermesi gerekli.Şöyle bir şey farkettim oyunun iki versiyonu vardı.İlk versiyonu daha eski, hatalar var vs. Fakat ilk versiyonunda takılma olmuyor.

Oyunun kaynak kodlarını paylaşıyorum.Deneyip, takılma olup olmadığına bakabilir misiniz?Şimdiden teşekkürler.
http://dosya.co/dgnpw6be9tg7/SnakeGame.rar.html

Düzenleme: İlk versiyonda takılmalar olmuyor demiştim fakat onda da oluyor.Aslında oyunda hız seviyeleri yapmıştım.Oyun saniyede 9 kare ile başlıyor ve birer birer artıyor.Eğer 9'un altındaysa takılmalar farkedilmiyor.Eğer saniyede 10 kare olursa takılmalar gözükmüyor yada farkedilmiyor.Eğer 10 karenin üstünde olursa yılan sanki bazen 2 kare birden atlıyormuş gibi oluyor.Açıkcası söylemek gerekirse bunlar yazılımsal sorun gibi duruyor yani benim hatalarım fakat oyunu eski bilgisayarda sorunsuz çalışır halde bırakmıştım.Yeni bilgisayar alana kadar da üzerinde hiç değişiklik yapmadım.Bu duruma göre sorun ne java ile ne de kodlar ile ilgili değil gibi.

ginraj

@blacksnow hocam tam emin değilim fakat iki jdk kurulu ise oracle jdk yı pasif hale veya kaldırarak deneyebilir misiniz? Belki hala oracle üzerinden çalıştırıyordur.

blacksnow

#2
@yguzel, java -version çıktısını geçiyorum aşağıya.Sorun sanki java ile ilgili değil gibi.Çünkü bu oyunu yaparken örnek olarak aldığım bir oyun daha var, o oyunda takılma olmuyor.
Eğer sorun yazdığım kodlar da olsa o zaman da Windows'ta nasıl düzgün çalışabilir?Anlayamıyorum, garip bir durum var.
Rica etsem deneyebilir misiniz?Siz de takılmaları görebiliyor musunuz?
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

ginraj

@blacksnow eve gittiğim zaman dener sonucu sizinle paylaşırım

blacksnow

#4
Takılmaları oracle java 7 ve openjdk7 de aynı olduğunu söylemiştim.Şimdi birde oracle java 8 ile denedim.Bu sefer takılmalar çok daha fazla 2 kare birden atlıyor.Yani bu en başta yaşadığım sorun openjdk yükleyerek çözdüm dediğim sorun.Bunun da neden olduğunu anlayamadım.Sorunum çözüldü diye irdelememiştim.

Bir de bu yılan oyununu yaparken örnek aldığım bir oyun var o oyunda hiç takılma olmuyor.Ne oracle java 7-8 de, ne de openjdk7 de.

blacksnow

Sorun hala devam etmekte.Birinin deneyip sonucu paylaşmasını bekliyorum.

ekremsenturk

Denemeye başlamışken, bir de openjdk6 ile dene.

Amenofis

Deneyecektim ama benim makinada "exe" çalışmıyor.

blacksnow

#8
Alıntı YapDenemeye başlamışken, bir de openjdk6 ile dene.
Java 6' da LinkedList sınıfı olmadığı için çalıştıramadım.

Alıntı YapDeneyecektim ama benim makinada "exe" çalışmıyor.
Oyun java ile yazıldı. ".jar" uzantılı dosya. ".exe" uzantılı değil.Zaten yanında kaynak kodları da var.

Yukarıda konuyu çok uzun anlattım kısa özet geçsem daha iyi olacak gibi.
Ben bu oyunu yazıp bitirdiğimde hiç takılma yoktu.Ubuntu 14.04.1 ve openjdk7 ile.Sonra bilgisayarı değiştirdim.Şuan da Ubuntu 14.04.2 ve openjdk7 kullanıyorum.
Aradaki fark Ubuntu'nun 14.04.1 den 14.04.2 ye yükseltmem, başka bir fark yok.Bu arada oyundaki kodlarda hiçbir değişiklik yapılmadı.
Bunların yanında bir de oyunu Windows 8.1 ile denedim ve takılma olmuyor.

Yani sonuçlar çok saçma.Eğer hata kodlarda olsa Windows'da da takılmalar olmalı.Eğer sorun openjdk7 ile ise eski bilgisayarımda neden bir sorun olmadı.Arada bir güncelleme geldiyse haberim yok.İşte bu yüzden sizlerin farklı sistemlerde deneme yapıp bana aktarması çok işime yarayacak.

Yardım edebilecek herkese şimdiden teşekkür ederim.

Amenofis

Hiç indirip baktın mı içinde ne var diye? Bende sadece tek dosya çıkıyor o da SnakeGamerar__11652_il928382.exe

blacksnow

Hocam upload eden benim zaten oraya.Oyunu yazan da benim.Belki açıkca belirtmedim bunu. "exe" konusuna gelince upload ettiğim site biraz dandik, o indirdiğiniz reklam.Altta "Dosyayı indir" butonu olması lazım.Tekrar kontrol ettim şimdi link sağlam.

ginraj

@blacksnow oyunu çalıştırdım (iki versiyonu da) takılma problemi yaşamadım. Open JDK 7 yi kullanıyorum.

blacksnow

Sorun yani bilgisayarda mı?Yoksa sistemle ilgili uyumluluk sorunu falan mı?Herhangi bir fikriniz var mı?

Bu arada hangi dağıtımı kullanıyorsunuz?


ginraj

Bence tüm jdk ları kaldırın sadece biri kalsın. Yanlış hatırlamıyorsam benimde başıma böyle * bir şey gelmişti iki jdk yüklü olduğu için sıkıntı yaşamıştım. Kullandığım sistem eos freya

blacksnow

#14
Zaten o şekilde denedim hepsini.Şuan da mesela sadece openjdk 7 var.Diğerlerini denerken de bu şekilde yapmıştım.
Ayrıca sistemle alakası olabilir diye USB den, Ubuntu 14.04.1 ile denedim yine aynı takılmalar var.Sistemlede alakası yok gibi.
Asıl sinir olduğum durum Windows ile takılma olmaması.

Reverser

ekran kartinizla ilgili bir sorun var mi peki ? Bu arada ben de sadece .exe dosya goruyorum.

XFCE ROCKS !
Powered by Thunar & XFWM4



blacksnow

#16
Bilgisayarımda çift ekran kartı var, Intel ve NVIDIA.Şuan Intel ekran kartını kullanıyorum ve herhangi bir sorun yaşamadım.Nvidia Prime ya da Nvidia Optimus (Bumblebee) kullanmıyorum.Nvidia Prime kullandım fakat Windows' a geçtiğimde Nvidia ekran kartını görmüyordu.Ubuntu da ise iki ekran kartı arasında geçiş yapmama izin vermiyordu.Bu yüzden ben de Ubuntu altında Intel ekran kartı yettiği için uğraşmamıştım.

*bağlantıda herhangi bir sorun yok.Sabah denedim.Yeşil olan "Dosyayı indir" butonuna değil allta mavi olan var ona basmalısınız.

Reverser

Aynı şekilde takılmalar oluyor v1 ve v2 de.

reverser@reverser:~$ java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

XFCE ROCKS !
Powered by Thunar & XFWM4



blacksnow

Java 8 ile takılmalar zaten vardı önceden de.O zamanlar openjdk 7 ile denediğimde düzelmişti.Yani eğer java 8 ile denerseniz takılmalar olması muhtemel.

Şimdi şunu anlatmak istiyorum.Ben bu oyunu başka bir oyuna bakarak yaptım.Yani aşağı yukarı kopyaladım denebilir.İşte o oyunda takılma olmuyor hiç.Hatta yanlış hatırlamıyorsam Java 8' de de sıkıntı yoktu.Oyunu yazarken bir yerlerde hata yaptığımı düşünüyorum fakat bu sefer de Windows' da takılma olmaması kafama takılıyor.

Yani öyle bir hata yapmalıyım ki Windows' da takılma olmayacak fakat Ubuntu ile olacak.Sizce mümkün mü böyle bir hata yapmam?Yakında kodları tek tek okuyup açıklama satırlarıyla tekrardan paylaşmayı düşünüyorum.Eğer yukarıdaki gibi bir hata yaptıysam bunu düzeltmek istiyorum.

Reverser

hata yapmış olabilirsiniz ayrıca düşük bir ihtimalde olsa java'nın içsel bir hatası olabilir bana kalırsa.

XFCE ROCKS !
Powered by Thunar & XFWM4



blacksnow

Dediğiniz gibi bir içsel hata varsa eğer bu hata bazı makinalarda gözüküp bazılarında gözükmeme ihtimali olabilir mi?Çünkü, @yguzel openjdk 7 ile denediğini ve takılma olmadığını söyledi.

ginraj

Evet takılma olmadı ubuntu ile alakalı değil bence çünkü ubuntunun çatallaması olan elementary os u kullanıyorum.

Amenofis

Manjaro x64 te openjdk-8 ile felaket derecede takılıyor, jdk-7 ise sorunsuz. Test amacıyla Arm boardda da denedim. Yine jdk-7 sorunsuz, jdk-8 ise sadece boş pencere açtı.

Bu arada iki farklı java sürümünün kurulu olması sorun değil, ona kafayı takmayın.

blacksnow

#23
Alıntı YapBu arada iki farklı java sürümünün kurulu olması sorun değil, ona kafayı takmayın.
Bu konuya açıklık getirmek istiyorum.Ben zaten hiçbir zaman iki java aynı anda yüklüyken deneme yapmadım.Her deneme yapımışımda sadece bir java yüklüydü.

Kodları tekrardan gözden geçirip hata aramak istiyorum fakat sizler openjdk 7 ile sorun olmadığını söylüyorsunuz.Yani bu durumda ben şimdi ne hatası arayacağım?

Openjdk sürümü "1.7.0_75" ben de, acaba sizde farklı mı olabilir mi?Kafam çok karıştı, tek çare bilgisayarı değiştirmek gibi o da çok saçma olur.Benim bildiğim java, işletim sisteminden bağımsız bir programlama dilidir.Niye böyle oluyor anlamıyorum.Hani Java da içsel bir hata var desek tek bana mı denk geliyor o da?

Ben şimdi Java ile uygulama geliştirmek için Windows mu kullanmak zorundayım?Ya da bilgisayarı değiştirmek.Hiç bu kadar çaresiz hissetmemiştim.Denemem için farklı bir yöntem var mı?

Amenofis

Kodları birebir kopyalamanın kötü yanlarından biri de hatanın nerede olduğunu bulmanın çok zor olması. Şahsen ben ne kodlamayı öğrenme sürecinde ne de öğrendikten sonra kesinlikle alıntı kod kullanmadım. Javayla aram iyi olsaydı bu oyunu baştan yazıp didiklerdim hatayı ama maalesef javadan nefret ederim.

Muhtemelen oyunu ilk yazan vatandaş grafiklerde tavsiye edilmeyen bir yöntem kullanmıştır. jdk-7 bu davranışı tolere ederken jdk-8 de kısıtlamaya gidilmiştir. Major sürüm yükseltmelerinde böyle şeyler olur, eskiye uyumluluk kalkabilir.

Bir sistemde çalışıp diğer sistemde çalışmaması da şaşılacak bir durum değil. Nihayetinde java da arka planda işletim sisteminin kendi bileşenlerini kullanıyor. Windowsta sorun çıkarmayan şey linuxta sorun olabilir, ya da tersi.

Çoklu platform için uygulama geliştiriyorsan mümkün olduğunca taşınabilir yöntemleri tercih edeceksin, şüpheli durumlardan uzak duracaksın. "Denedim çalışıyor işte salla gitsin" dersen böyle durumların çıkması olası.