Yanıt Hexagonal (Altıgen)

  • 15 Nisan 2012 Pazar 15:54
     
     

    Merhaba Arkadaşlar

    Visual de oldukça yetersizim. daha çok asp.net ile ilgili çalışıyorum. Bir proje için örnek bir yapı arıyordum internette  istediğim bir yapı buldum  bir iki ekleme yapmam gerekti ancak yapamadım. bulduğum projeyi aşağıdaki linke ekledim. Eklemek isteğim şey form çalıştırıldığında ekrana çıkan altıgen şekildeki grid üzerine Alfabedeki harfleri yerleştirmek. Her Altıgen içerisine bir tane Büyük Harf eklemeyi istiyorum bunu nasıl yapabilirm.yardımlarınızı bekliyorum.http://radikaldershanesi.net/a/HexagonalTest.rar


    kuyu

Tüm Yanıtlar

  • 16 Nisan 2012 Pazartesi 07:09
    Moderatör
     
      Kod İçerir

    Muratfix merhabalar,

    Projeye kısa bir süre baktım. GraphicsEngine sınıfı ekrana çizdirme yapıyor. Çizilen altıgenlerin içine koordinatları vasıtasıyla harfleri yerleştirebilirsiniz biraz uğraşırsanız.

    Örneğin GraphicsEngine.cs içerisindeki Draw Hex Grid kısmını aşağıdaki gibi değiştirirseniz :

    //
    			// Draw Hex Grid
    			//
    			p.Color = board.BoardState.GridColor;
    			p.Width = board.BoardState.GridPenWidth;
    			for (int i = 0; i < board.Hexes.GetLength(0); i++)
    			{
    				for (int j = 0; j < board.Hexes.GetLength(1); j++)
    				{
    					bitmapGraphics.DrawPolygon(p, board.Hexes[i, j].Points);
                        			String drawString = "A";
    
                        			Font drawFont = new Font("Arial", 16);
                        			SolidBrush drawBrush = new SolidBrush(Color.Black);
    
                        			PointF drawPoint = new PointF(10.0F, 10.0F);
    
                        			bitmapGraphics.DrawString(drawString, drawFont, drawBrush, drawPoint);
    
    				}
    			}
    

    Sonuç :

     


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

  • 16 Nisan 2012 Pazartesi 20:27
     
     
    hocam dediğiniz gibi yaptım ama bu şekilde her petek için ayrı ayrı kod yazmak gerekiyor bunu bir döngü içerisinde rastgele olarak harfleri atmak mümkün mü acaba?

    kuyu

  • 17 Nisan 2012 Salı 05:42
    Moderatör
     
      Kod İçerir

    Mümkün, kodları incelerseniz Hex sınıfından çizilen altıgenlerin koordinatlarına ulaşabildiğimizi göreceksiniz.

    Yukarıda verdiğim kodu aşağıdaki gibi düzenleyebilirsiniz :

                        for (int i = 0; i < board.Hexes.GetLength(0); i++)
    			{
    				for (int j = 0; j < board.Hexes.GetLength(1); j++)
    				{
    					bitmapGraphics.DrawPolygon(p, board.Hexes[i, j].Points);
                                            String drawString = "A";
                                            Font drawFont = new Font("Arial", 16);
                                            SolidBrush drawBrush = new SolidBrush(Color.Black);
                                            bitmapGraphics.DrawString(drawString, drawFont, drawBrush, board.Hexes[i, j].Points[0].X, board.Hexes[i, j].Points[0].Y);
    
    				}
    			}

    Bu sefer alacağımız çıktı :

    Harfleri ayarlamakta size kalmış.

    Kolay gelsin.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

  • 17 Nisan 2012 Salı 09:52
     
     

    Hocam sanırım ben eksik ifade ettim aslında tam olarak aradığım şey aşağıdaki gibi bir ekran görüntüsü. Bu Harfler arasında "Q,W,X,J,Ğ" harfleri olmayacak sadece...


    kuyu

  • 17 Nisan 2012 Salı 09:55
    Moderatör
     
     

    Merhabalar,

    Yanlış anlamadım yalnız harfleri de random olarak çekmeniz gerekli bunu size bırakmıştım.

    Aşağıda bununla ilgili bir örnek var : 

    http://stackoverflow.com/questions/1831072/c-sharp-extension-method-to-return-random-alphabet

    Bunu drawstring metoduna parametre olacak geçilecek hale getirmelisiniz. Yukarıdaki örnekte fix "A" getiriliyor.

    Kolay gelsin.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

  • 17 Nisan 2012 Salı 10:15
     
     
    hocam evet ama en baştada dediğim gibi bu konuda çok yetersizim örneği projeye uygulayamadım..

    kuyu

  • 17 Nisan 2012 Salı 13:10
     
     
    hocam ne yaptıysam maalesef uygulayamadım oradaysanız bakmanız mümkün mü acaba?

    kuyu

  • 18 Nisan 2012 Çarşamba 12:04
     
     
    hocam dünden beri denemediğim yol kalmadı bildiğim kadarıyla ama yapamadım vaktinizide çok akdım biliyorum ama bu işkenceden kurtarırsanız çok sevinirim...

    kuyu

  • 18 Nisan 2012 Çarşamba 14:56
    Moderatör
     
     Yanıt

    Murat Bey merhabalar,

    Aslında bu tarz ısmarlama uygulama geliştirme isteklerine cevap vermiyorum ama bir kere cevap vermeye başladığımdan biraz borçlu hissettim. Aşağıdaki bağlantıdan kaynak kodları indirebilirsiniz. Dikkatle incelemenizi öneriyorum,başlıkta sorduğunuz gibi altıgenlerin içlerine Türkçe alfabesinin büyük harflerini rasgele yazıyor, o yüzden sorunuza cevap verdiğimi düşünüyorum, yanıt olarak işaretlerseniz kapansın konu.

    HexagonalTest.zip

    Kolay gelsin.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    • Yanıt Olarak İşaretleyen Muratfix 18 Nisan 2012 Çarşamba 17:32
    •