1. sayfa
bu oyunu nasıl oynucaz not defterine bunu yazdıktan sonra uzantısını ne olarak kaydetmek lazım ![]() c den anlamıyorumda ![]() |
Bence sebebi ekranı sürekli silip tekrar yazmandan kaynaklanıyor. Öyle yapmak yerine sadece değişiklik olan koordinatları değiştir aynı olan koordinatları tekrar çizdirme. Bu yüzden CLS yerine daha işlevli sadece koordinat silebilen bir fonksiyon aramalısın. Sağlam garafik kütüphanelerinde böyle fonksiyonlar mutlaka mevcuttur . Eğer böyle bir fonksiyon kullanırsan programın daha iyi olacaktır. OpenGL falan araştırmanı tavsiye ederim , grafikle ilgili sağlam kütüphaneleri mevcut. |
Çok özür dilerim farklı bi başlık altında yazıyorum ama..Arkadaşlar C++'den bi ödevim var yardım edebilecek olan biri varsa lütfen çok acil...:(.. |
Oyunu oynamadim ama; main functionda while(i<100000) var, ve saniyorsam her hareketten sonra, program karar veriyor, programi 100000 lik bir loopa sokmak her seferinde CPUyu cok zorlar. Daha degisik bir karar verme motoru gelistirmen gerekebilir, ama dedigim gibi incelemedim programi, %40-50 CPU kullanimi bu loop yuzunden oldugunu dusnuyorum. |
Bence de ekranı silip yazması yoruyor işlemciyi çünkü printf fonksiyonu ağır bir fonksiyonhttp://letscoding.com/2011/02/12/snake-v2-0/ bu adreste bir örnek var bak istersen |
Hos olmus eline saglik![]() bencede ekranin surekli yenilenmesinden dolayi islemci kullanimi artiyor. cunku sonsuz donuyor program duvara carpana kadar donecek. bunu aciklamak icin bir ornek vercek olursak printf le herhangi bir sey yazin ve bunu sonsuz donguye sokun ve programi calistirin benim 4 cekirdekli phenomII 965 im %30 yuk altina girdi ![]() bu aslinda C nin cok zayif bir dil olmasindan kaynaklaniyor C# veya diger visual dilleri ogrenip onlarla yazarsaniz daha etkin olur ![]() |
Allah çarpar adamı ![]() |
Hadi canim kapat sen o kapiyi, soguk girmesin içeriye. |
system("CLS"); yerine sadece yılanın kordinatlarını yenilemeniz yeterli. Bunun için yılanın koordinatlarına gitmeniz lazım. GetCurPos gibi yada benzer bir fonksiyon vardı arayın olmazsa bendekini size vereyim. getch() yerine, KEY_DOWN, KEY_UP olaylarını yakalayıp bu aşamadan sonra basılan tuşa göre işlem yaparsanız daha hızlı çalışan ve tahminimce hafızadan da daha az yiyen bir program elde edersiniz. Bunu da araştırın, takıldığınız yerlerde yardımcı olmaya çalışırım. |
Yanlış yol göstermektense hiç yol göstermesin. (Bknz:Senin gibi.) |
C# tavsiye etmenin neresi yanlis yol ? Bos konusacagina hic konusma ayrica benim yazdigimin neresi yanlis yada dalga gecilcek bisi var ona anlam veremedim C zayif bir dildir baslangic icin iyi bir dildir ve bazi seyleri yapmak ve etkinlik saglamak zordur. C# ile yazilmis bir yilan oyununu incelemistim daha onceki postlari yazarken o yuzden aklima o geldide yazdim. Konu zaten sacma sapan bir yere gitti C# onermeme sacma dio adam saka gibi. dahada adam yerine koyup cevap yazmam.isteyen c ile yazar isteyen baska bir dille. |
Büyük hatayı ikinciye yapıyorsun dikkat et, üçüncüye çarpılırsın! Ortaya bir iddia atıyorsan desteğin olmalı. |
while ile işlemciyi köklediğin için oluyor o. intelin sitesindeki açıklamaya göre davranıyorum, while(1) döngüsünün sonuna (yani } işaretinden önceki satıra) bir adet Sleep(1); ekle, sorun hallolur. sleep hata veriyorsa #include <windows.h> yeterli, tabi visual studioyla çalışıyorsan. |
R_M_A kardeşim C bütün C ailesinin temelidir. C++,C#,Objective-C... C ile donanıma mükemmel erişim sağlarsın. Hafıza yönetimini çok rahat yaparsın yani bilgisayar yönetimin çok başarılı olur.. C# C'den türetilmiş olup bazı amaçlar için programcının işini kolaylaştırmak için üretilmiş bir dildir. Temeli tamamen C'dir... Senin burda şöyle bir hatan var... C ye zayıf dersen C# daha zayıf olur.. C güçlüdür hemde çok güçlüdür... Ama biraz zordur. C# gibi VS studio ortamında kolaylıkla yazılacak birşey değildir. Derleyiciler kendileri senin için birşeyler eklemezler sen yaparsın herşeyini.. Ama herşeyin sonucu Assembly'e gider onun bi öncesinde de C'ye uğrar...( Bahsettiğimiz aile için) Arkadaşlarda bu konu da seni uyarıyorlar... Saygılarımla... |
.net güzel bir şey ama visual basic, c# gibi diller microsoft destekli olduğu için kendini özgür hisseder misin kodlarken bilemiyorum ? c ile yazdığın şeyleri bütün işletim sistemlerine uyarlayabilirsin ancak diğerleri için .net framework gerekecek. bir ps3, ps2 ve birçok konsol oyunu bile c++/c ile yazılır, ps3 opengl, diğerleri directx kullanır. ama şöyle bir şey var, benim amacım ciddi falan değil şeklinde düşünüyorsan C ile uğraşma derim çünkü C her şeyi sana bırakır. hele pointer ve stringlerle uğraşırken dili bırakmak bile istersin. assembly öğrenmesi de öle aşırı zor bir şey değil, git C'de program yaz -ufak bir program- compile et ve .exeyi bir disassembler programıyla aç, ne yaptığına falan baka baka öğren. ben öyle yaptım. ha tabi bir elektronik aygıtın inceliklerine kadar bilmen lazım, bit byte mikroişlemci adresler yığınlar vs.. |
1. sayfa
c ile yazdıığım yılan oyunu.ancak calisirken islemci kullanimi %40-50 civarında bu kodu nasıl daha verimli bir hale getirebilirim?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi gpost -- 8 Temmuz 2010; 16:18:37 >