Algoritma Soru Çözümü | 3

0x1D

Kıdemli Üye
23 Nis 2020
2,651
78
MARS
Soru :

C# Form uygulamasında bir dama tahtası yapınız.

Aşağıdaki açıklamaları kodda yorum satırı olarak da ekledim direkt copy paste yapıp oradan açıklamalara bakabilirsiniz.



Bomboş bir form uygulaması oluşturmanız yetiyor aşağıdaki kodu main kısmına yapıştırın ve çalıştırın.

Kod ne yapıyor:

Kare şeklinde bir buton koyuyor ve soldan bıraktığı boluğu left'e eşitliyor. Lefte kare butonun bir kenarının uzunluğunu ekleyip devam ediyor. 8 kareyi yerleştirince left'i sıfırlayıp top'ı 50 artırıyor. Kod satırları şu şekilde yerleştiriyor(kırmızılar beyaz kareleri siyahlar ise siyah kareleri temsil ediyor) :



Form :


Canlı canlı görmek isteyenler için exe : https://www.dosya.tc/server31/xf0alc/DamaTahtasi.exe.html

VT : https://www.virustotal.com/gui/file...2b0bd57f3162185ff03d84a576b9d31ead0/detection

Kod:
[font=monospace]Button[,] buttons [color=#666666]=[/color] new Button[[color=#666666]8[/color], [color=#666666]8[/color]];
            [color=#408080][i]//üstten bırakılan boşluk 
[/i][/color]            [color=#B00040]int[/color] top [color=#666666]=[/color] [color=#666666]0[/color];
            [color=#408080][i]//soldan bırakılan boşluk
[/i][/color]            [color=#B00040]int[/color] left [color=#666666]=[/color] [color=#666666]0[/color];
            [color=#008000][b]for[/b][/color] ([color=#B00040]int[/color] i [color=#666666]=[/color] [color=#666666]0[/color]; i [color=#666666]<[/color] buttons.GetUpperBound([color=#666666]0[/color])+1; i[color=#666666]++[/color])
            {
                [color=#008000][b]for[/b][/color] ([color=#B00040]int[/color] j [color=#666666]=[/color] [color=#666666]0[/color]; j [color=#666666]<[/color] buttons.GetUpperBound([color=#666666]1[/color])+1; j[color=#666666]++[/color])
                {
                    buttons[i, j] [color=#666666]=[/color] new Button();
                    buttons[i, j].Height [color=#666666]=[/color] [color=#666666]50[/color];
                    buttons[i, j].Width [color=#666666]=[/color] [color=#666666]50[/color];
                    buttons[i, j].Left [color=#666666]=[/color] left;
                    buttons[i, j].Top [color=#666666]=[/color] top;
                    [color=#408080][i]//her dönüşte soldan bırakılan boşluk karenin bir kenarı kadar artırılıyor ki kareler üst üste gelmesin
[/i][/color]                    left [color=#666666]+=[/color] [color=#666666]50[/color];

                    [color=#408080][i]//buton ekleniyor
[/i][/color]                    this.Controls.Add(buttons[i, j]);

                    [color=#408080][i]//renk belirleniyor
[/i][/color]                    [color=#008000][b]if[/b][/color] ((i[color=#666666]+[/color]j)[color=#666666]%[/color][color=#666666]2[/color][color=#666666]==[/color][color=#666666]0[/color])
                    {
                        buttons[i, j].BackColor [color=#666666]=[/color] Color.Black;

                    }
                    [color=#008000][b]else[/b][/color]
                    {
                        buttons[i, j].BackColor [color=#666666]=[/color] Color.White;
                    }
                }
                [color=#408080][i]//döngü tamamlanınca üstten bırakılan boşluk karenin bir kenarı kadar artırılıyor
[/i][/color]                top [color=#666666]+=[/color] [color=#666666]50[/color];
                [color=#408080][i]//soldan bırakılan boşluk sıfırlanıyor
[/i][/color]                left [color=#666666]=[/color] [color=#666666]0[/color];
            }
[/font]

 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.