Arge Demo

Konusu 'Yeni Başlayanlar' forumundadır ve ☼»Ŝ•Σ•R•F•R•İ•Ĉ«☼ tarafından 15 Mart 2016 başlatılmıştır.

Değerli forum kullanıcıları,

Bu forumda aktif olabilmen için öncelikle oyun hesabına giriş yapman gerek, aksi taktirde foruma ulaşamassın. Eğer oyun hesabın yok ise, lütfen kendine yeni bir hesap aç. „Oyun için tıkla“
  1. Hayır ayarlardan da alabilirsin.
     
  2. Sen bilirsin sonra beğenmezsen giderli sorumlu olsun :D 1 ay boyunca win7'ye geri dönüş yapılabiliyor. (Formatsız)

    Arkadaşlar kusura bakmayında muhabbet bölümüne geçer misiniz kovmak gibi olmasında :D

    Arge Demo v1.1 sürümü eklenmiştir 1.0 sürümü kullananlar yenisini indirebilir.
     

  3. oo :) sonunda eklemişsin , hayırlı olsun . program gayet güzel olmuş , programın gelişimi için kullanıcı verilerinden dolayı hata vermemesi için birkaç önlem alman gerekli ;

    1- programın açıldığı form ekranı büyütülebiliyor , bunu engellemen daha iyi olur .onuda formun sağdaki özelliklerinden formBorderStyle dan yapabilirsen tercihen fixedtoolwindow olabilir . veya none yapıp(yani çerçevesiz) programın içine bir çıkış butonu koyabilirsin
    2- günlük dosya hesaplama kısmından yazılabilecek en büyük günlük dosya sayısını sınırlaman iyi olur veya kullandığın değişken tipini(int,float vb.) daha büyük tutman gerek
    3- gene günlük dosyası hesaplama kısmında günlük dosya sayısı kısımına ve indirim kısımına sadece 0-9 arası karakterlerin yazılmasını sağlamalısın bunun harici , + - a b c . , ; : vb. karakter girişleri programı patlatır.
    4- hakkında kısmına tıklayınca açılan formu show() methodu yerine showdialog() ile açarsan , hakkında formunu kapatmadan arge demo ekranına geri dönemezler .
    5- arge hesaplama , arge maliyeti kısımlarını gene show() ile açmak mantıklı lakin 1 den fazla açılmayı engellemen gerek , yoksa 3-4 kez açabilir kullanıcılar . burda showdialog() kullanmaman programın kullanılabilirliği açısından gerekli(yani arge uri hesaplaması yapıp bir yandanda argeyi verebilirse güzel olur) bunun içinde oluşturduğun contexmenustrip içinde ilgili kısma tıklayınca bir değişken tut mesela dosyaformu=0 şeklinde , o butona tıklayınca if sorgusuyla bak 0 ise o formu açsın 1 ise açma kısmına girmesin , hiçbirşeyde yapmasın(hata filan vermesin yani)

    şimdi gelelim yazılım kısmına :)

    1-50 nin üstünde arge verilebiliyor
    2-buton hover'larında beyaz arkaplan tam oturmuyor , yani yanlardan arkadaki kırmızı , mavi , mor vb. gibi renkleri görebiliyorsun(1-2 piksel oynakmak gerekebilir)
    3-açık(yani arge verilebilir durumdaki) bir argeye arge verilmemiş veya arge verilmiş ama tamamlanmamış olduğu durumlarda solda çıkan yazının alt kısmındaki uyarı yazısı kırmızı değil tamamlandığındaki renk ile aynı renkte görünmeli
    4-otomatik arge dizilimlerinin hepsinde gemi gövdesi 1 verilmesine rağmen mayıncı 1 açılmıyor depocu açılmıyor bu kısımlara bakılması lazım(başka benzer açılmayan argelerde olabilir , bakarsın onlara)
    5-otomatik arge dizilimlerinin hepsinde gemi gövdesi 1 hariç 2/2 - 5/5 şeklinde fullenmiş argelerin hiçbiri vede kapalı görünen argelerin hiçbirinde sıkıntı olmuyor , taki açık 0/2 tarzı veya 2/5 tarzı açılmış ama tamamlanmamış argeler ile gemi gövdesi 1 argesine tıklayınca dağıtılan arge sayısı 1 den sayıyor ve o 2/2 5/5 gibi olanları tekrar ekleyemiyorsun argeleri sıfırla demek gerekiyor


    bakabildiğim kısa zaman içinde bulabildiklerim bunlar :) tekrardan hayırlı olsun ,eline sağlık . başarılarının devamını dilerim ,kolay gelsin
     
  4. Öncelikle bu değerli yorumun için teşekkür ederim.

    Kod kısmı ile ilgili;
    1. Kaç arge dağıttığımızı görebildiğimiz için sınırlama koymayı pek istemedim ama birazda üşengeçlik var tabi :) Şuan düşününce bunu yapmak biraz zaman alacak gibi görünüyor.
    2. Genellikle beyaz çerçeve tam oturuyor ama bazılarında hafif kayma var bu durum arkada bulunan argelerin koordinatından mı oluyordur?
    3. Mühendis argesi için yapmışım fakat nedense diğerlerine uygulamayı unutmuşum.
    4. Hazır dizilimleri hem kod fazlalığından kurtulmak için hemde verilmesi gereken argeleri özellikle vurgulamak için dizilimde gerekmeyen argeleri açmamıştım. Sence gerekli mi?
    5. Sanırım değişkenlere değer atamadım onları eklersem sorun çözülecektir.
    Kullanıcı kısmı ile ilgili;
    1. Bunun için özel bir görsel hazırlayıp çıkış ve simge durumuna küçültme butonlarını ekleyebilirim. Bi ara düşünmüştüm de bunun içinde iyi görseller olmalı, ilham ve iyi bir photoshop kullanıcısı olmak şart :D
    2. En iyisi 10.000'de sınırlamak olacak.
    3. Bunu da halledecem.
    4. ShowDialog hiç kullanmadım ama deneyerek yapacam bir şeyler :)
    5. Bu olay şöyle mi olur?
    Kod:
    byte formd;
    private void günlükDosyasıHesapToolStripMenuItem_Click(object sender, EventArgs e)
    {
          if(formd==0)
          {
               Form hs = new hesapla();
               hs.Show();
               formd=1;
           }
    }
    Burada tek sorun formd geri nasıl 0 olacak? Kapatıp tekrar açmak isteyince açamazlar.
     
  5. ben indiridm ve sevdim açıkçası
     
  6. Kod kısmı ile ilgili;

    2. soru için , koordinatları sayısal olarak 1-2 azaltıp artırıp deneyebilirsin tam olup olmadığına , çok büyük bir fark görünmüyorda renk farklı olunca genede belli oluyor dikkat edince
    4. soru için , bence senin dediğin gibi daha güzel tabi . bu durumdada 21-24-34 arge dizilimi yapınca argelere tıklayınca değişmemesi gerek(yarım kalan -2/5 vb. şekilde- argeler ile gemi dövdesi 1 önemli benim gözlemlediğim kadarı ile)
    5. soru için , bende öyle düşünüyorum . değişkenlerde değer olmadığı için tıklayınca baştan başlıyor , atamayı yaptıktan sonra değerleride otomatik eklersen sıkıntı gider gibi görünüyor( tabi genede kodun diğer kısımlarına etki edebilir bu değişimler - mesela kapalı görünmesini istediğin argelerin açılması gibi - tabi bu senin yazdığın kod ile alakalı bir durum , yani açılmayada bilir :) )

    kullanıcı kısmı için ,
    1. de dediğin gibi çıkış ve simge durumunu hazırlayabilirsinde :D çok fazla photoshop bilgisi istemez basit bir çıkış butonu resmi ve hover olunca rengi değiştirip yapmak :) hatta paintde bile olabilir

    5. şimdi düşününce aklıma başka birşey geldi;

    Kod:
    
    AÇILACAKFORMUNADI frmhsp = new AÇILACAKFORMUNADI();  // burası global alanda olucak
    
    frmhsp.Name = "formhesapla"; // burası ana programın load kısmında olucak(açılışta yapılacakları yazdığın yer yani )
    
    
    private void günlükDosyasıHesapToolStripMenuItem_Click(object sender, EventArgs e)
    {
               if (Application.OpenForms["formhesapla"] == null || frmhsp.IsDisposed == true)
                {
                    if (frmhsp.IsDisposed)
                    {
                        frmhsp = new AÇILACAKFORMUNADI();
                    }
                    frmhsp .Show();
                }
                else
                {
                    frmhsp .Focus();
                }
    }
    burda önce formu globalde tanımlıyacan , sonra load kısmında tanımladığın forma bir isim vericen . toolstripmenu altındaki koddada önce form açık formların arasında değilse veya daha önce disposed edilmişse(yani kapatılmışsa) bir alta geçicen ve tekrar disposed durumuna bakıcan , daha önce kapatılmışsa o form tekrar instance lanacak , sonrada gösterilecek . eğer disposed durumu olmadıysa yani ilk defa basıyorsanda zaten global de instance ladığımız için direk show ile gösterilcek .

    else kısmındada form zaten açıksa focus ile öne getircek
     
  7. Bu program ile sürekli yeni kodlar öğreniyorum :D Bir forum için bu kodlar çok fazla gibi :)

    Kodu kısaltmaya çalışacaktım ama şimdi erindim böyle kalsın :)
     
    Son düzenlenen: 20 Mart 2016
    EFSANE-KRAL bunu beğendi.
  8. :) zaten böyle böyle geliştiriliyor programlama . programın kodunu diyorsanız epey meşakkatli bir iş :) sıfırdan yazmak daha kolay olur emin olun :D ayrıca class ları etkin bir şekilde kullanmayı öğrenip oop(object oriented programing) kısmına doğru ufak ufak bakmak gerek :)

    son olarak yeni farkettiğim bir durumuda belirtiyim programla ilgili ;

    1-günlük dosyası hesaplama kısmına girince fare imleci indirimin yanındaki textbox'a gidiyor . direk dosya sayının textbox kısmına giderse daha güzel olur . onuda formun dizayn kısmından textbox ların üstüne tıklayıp sağdan özelliklerden Tabİndex kısmından düzenleyebilirsin , ilk görünecek olanı 0 yapıp sırayla diğerlerini arttırabilirsin
    2- argeyi sıfırla butonu nun hower kısmında gecikme yaşanıyor gibi hissettim
     
    Son düzenlenen: 21 Mart 2016
  9. Sıfırlama butonundaki sorunu bulamadı yavaş ama sorun nerede orası belli değil.
     
  10. aslında bellide dün yazmayı akıl edemedim onu , o buton veya imagebox ın MouseMove event'ına mousehover a yazdığınızın aynısını yazın , sorun düzelecektir

    Kod:
    private void button2_MouseHover(object sender, EventArgs e)
            {
                button2.BackgroundImage = Image.FromFile("..\\..\\Resources\\b_reset_hover.png");
            }
    
            private void button2_MouseLeave(object sender, EventArgs e)
            {
                button2.BackgroundImage = Image.FromFile("..\\..\\Resources\\b_reset_normal.png");
            }
    
            private void button2_MouseMove(object sender, MouseEventArgs e)
            {
                button2.BackgroundImage = Image.FromFile("..\\..\\Resources\\b_reset_hover.png");
            }
    şeklinde yani
     
  11. Denedim oldu. Hover gereksiz kaldırıyım gitsin. Move yapınca hoverı kapattım yine hızlı oluyor.
     
  12. -Keskin-

    -Keskin- User

    Merhaba

    Şöyle bir durum belki kendin böyle ayarlamışsındır bilmiyorum gerçi :D Örnek dizilimlerden birini yaptığın zaman kendin bir argeye bastığın anda sıfırdan başlar gibi sayıyor.Fakat dizilimler olduğu gibi kalıyor.Birazdan ss ekliyorum.
    [​IMG]

    Keyifli forumlar
     
  13. Modum şu altta dağıtılan arge sayısını mı diyorsunuz?
     
  14. evet onu diyor sanırım mod , benim ilk yazdıklarımın içinde vardı :) (yazılım kısmıyla ilgili 5. problem kısmı - arge puanı dağıtıldı kısmına dikkat ederden 50 vardı 24 kullanıldı yerine 50 vardı 1 kullanıldıya düşüyor , sonrada verdikçe artıyor.ama fullenen argelere tekrar veremiyorsun) , bu arada denedinizmi oto dizilimlerde arge değerlerinide atamayı . bu sıkıntıları çözünce epey bir iyileştirme yapılmış olucak :) v1.2 yi bekliyoruz

    veya düzeltmeler yerine bazı eklemelerde yapabilirsin bu tarz hatalara önlem olarak , mesela oto argeler için 21-24-34 için yani birer değişken tanımla arge21=0,arge24=0,arge34=0 gibi , sonra herhangi bir dizilim seçildiğinde hangisi seçildiyse onu 1 yap , mesela 24 arge dağıtımı yaptın diyelim o toolstrip den 24 e bastınmı çalıştırılan kısma arge24=1 i ekle , sonra tıklanan her bir pic box ın içindeki kodları if içine al ;

    Kod:
    
    if(arge21==0 && arge24==0 && arge34==0)
    {
         // normal o pic box a tıklanınca ne yapılcağının yazdığın kodu buraya al
    }
    else
    {
        //burdada arge sıfırla butonunun veya picbox(hangisini kullandıysan) onun click eventini tetiklemen lazım
       argesıfırla_Click(sender, e);  // sender, e kısmını değiştirme aynen kalsın
    }
    
    
    
     
    Son düzenlenen: 21 Mart 2016
  15. -Keskin-

    -Keskin- User

    Evet ondan bahsediyorum ve verdiğim argeye önceden arge verilmişse , ben üzerine tamamlamak için verdiğimde sıfırdan başlıyor.

    Açıkçası biraz yoğunum bu sıralar mesajınızda çok uzundu , doğruya doğru üşendim :D
     
  16. 6tarik59

    6tarik59 User

    Emeğine sağlık. Oldukça faydalı olabilicek bir uygulama yapmışsın umarım daha iyileri için kendini geliştirirsin.
     
  17. Son olayı pek anlamadım ne için kullanacaz?
     
  18. 21-24-34 arge dizilimleri yaptığın yer varya , ordan hangisini istiyorsak tıklıyoruz program kendi yerleştiriyor hani . işte ordaki tamamlanmamış veya herhangi bir açık argeye tıklayınca oluşan problemler için . yani eğer kullanıcı herhangi bir arge daha eklemek isterse üstüne program otomatik argeleri sıfırla yapıcak ve 0 dan arge vermesi gerekicek , yukarıdaki koddada 3 değişken yapıp hangi arge dizilimi otomatik yaptırıldıysa onun değerini 1 yapıcak sonrada her bir argeye tıklanmada kontrol edicek if ile , eğer değişkenlerin değerleri 0 ise otomatik dizilim olmadığı için program şuanki gibi çalışacak , ama otomatik dağıtımdan sonra herhangi bir arge verilmeye kalkılırsa program otomatik olarak argeleri sıfırla yapıcak

    öyle olmasın , örnek olarak otomatik dizilen 21 argenin in üstüne kullanıcı arge ekleyebilsin diyorsanda programdaki bugları gidermen gerekicek
     
  19. Değişkenlere değer atayınca sorun kalmadı gibi görünüyor.

    Kullanıcı kaynaklı;
    1. Bugün görsel hazırlayıp yapacam.
    2. Kodlarla uğraşmak yerine kısaca textbox'ın max yazı uzunluğunu 5 karakter yaptım. Aynı şekilde indirim içinde 2 karakter. Bitti.
    3. Bitti.
    4. Bitti.
    5. Bitti.
    Kod kaynaklı;
    1. Sınır eklemedim böyle iyi.
    2. Bitti.
    3. Bitti.
    4. Bitti.
    5. Bitti.
    Yeni Sorunlar;
    1. Bitti.
    2. Bitti.
    Hepsi bitince v2.0 olarak yayınlarım çünkü çok değişiklik oldu. Küçük hatalar olsa 1.2 olurdu.
     
    Son düzenlenen: 22 Mart 2016
  20. Kullanıcı kaynaklı;

    "2. Kodlarla uğraşmak yerine kısaca textbox'ın max yazı uzunluğunu 5 karakter yaptım. Aynı şekilde indirim içinde 2 karakter. Bitti."

    textbox kısmına sayı yazılabilirse sıkıntı yok ama özel karakter yazıp(a,b,c,%,/,nokta,virgül vb.) hesapla ya tıklayınca program muhtemelen patlayacaktır , bunu çözmek için keypress event ına birkaç satır kod yazmak veya textbox yerine numericupdown kullanman gerek

    v2.0 ı dört gözle bekliyoruz :D epey güzel bir hal alıcak gibi 2.0 da