• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak to zrobić krócej c#

VPS Starter Arubacloud
0 głosów
143 wizyt
pytanie zadane 22 lutego 2022 w C# przez DXC Użytkownik (500 p.)

Siemanko mam pytanie ma ktoś pomysł jak to zrobić krócej? Robię kółko i krzyżyk 3d czyli ze są 4 plansze 4x4 jedna pod sobą i tu też chodzi o to że jest to na buttonach i nie za bardzo wiem jak to mogę zrobić, bo nawet nie wiem jak to np. wykorzystać w pętli for z powodu że są tu nazwy "własne" buttonów w każdym razie wie ktoś jak napisać to po prostu krócej? Z góry dzięki

private void Check()
        {
            //pierwszy poziom proste
            if (btn1_1.Text != "" && btn1_1.Text == btn1_2.Text && btn1_2.Text == btn1_3.Text && btn1_3.Text == btn1_4.Text) Win();
            else if (btn1_5.Text != "" && btn1_5.Text == btn1_6.Text && btn1_6.Text == btn1_7.Text && btn1_7.Text == btn1_8.Text) Win();
            else if (btn1_9.Text != "" && btn1_9.Text == btn1_10.Text && btn1_10.Text == btn1_11.Text && btn1_11.Text == btn1_12.Text) Win();
            else if (btn1_13.Text != "" && btn1_13.Text == btn1_14.Text && btn1_14.Text == btn1_15.Text && btn1_15.Text == btn1_16.Text) Win();

            else if (btn1_1.Text != "" && btn1_1.Text == btn1_5.Text && btn1_5.Text == btn1_9.Text && btn1_9.Text == btn1_13.Text) Win();
            else if (btn1_2.Text != "" && btn1_2.Text == btn1_6.Text && btn1_6.Text == btn1_10.Text && btn1_10.Text == btn1_14.Text) Win();
            else if (btn1_3.Text != "" && btn1_3.Text == btn1_7.Text && btn1_7.Text == btn1_11.Text && btn1_11.Text == btn1_15.Text) Win();
            else if (btn1_4.Text != "" && btn1_4.Text == btn1_8.Text && btn1_8.Text == btn1_12.Text && btn1_12.Text == btn1_16.Text) Win();
            //skośne
            else if (btn1_4.Text != "" && btn1_4.Text == btn1_7.Text && btn1_7.Text == btn1_10.Text && btn1_10.Text == btn1_13.Text) Win();
            else if (btn1_1.Text != "" && btn1_1.Text == btn1_6.Text && btn1_6.Text == btn1_11.Text && btn1_11.Text == btn1_16.Text) Win();
            //drugi poziom proste
            else if (btn2_1.Text != "" && btn2_1.Text == btn2_2.Text && btn2_2.Text == btn2_3.Text && btn2_3.Text == btn2_4.Text) Win();
            else if (btn2_5.Text != "" && btn2_5.Text == btn2_6.Text && btn2_6.Text == btn2_7.Text && btn2_7.Text == btn2_8.Text) Win();
            else if (btn2_9.Text != "" && btn2_9.Text == btn2_10.Text && btn2_10.Text == btn2_11.Text && btn2_11.Text == btn2_12.Text) Win();
            else if (btn2_13.Text != "" && btn2_13.Text == btn2_14.Text && btn2_14.Text == btn2_15.Text && btn2_15.Text == btn2_16.Text) Win();

            else if (btn2_1.Text != "" && btn2_1.Text == btn2_5.Text && btn2_5.Text == btn2_9.Text && btn2_9.Text == btn2_13.Text) Win();
            else if (btn2_2.Text != "" && btn2_2.Text == btn2_6.Text && btn2_6.Text == btn2_10.Text && btn2_10.Text == btn2_14.Text) Win();
            else if (btn2_3.Text != "" && btn2_3.Text == btn2_7.Text && btn2_7.Text == btn2_11.Text && btn2_11.Text == btn2_15.Text) Win();
            else if (btn2_4.Text != "" && btn2_4.Text == btn2_8.Text && btn2_8.Text == btn2_12.Text && btn2_12.Text == btn2_16.Text) Win();
            //skośne
            else if (btn2_4.Text != "" && btn2_4.Text == btn2_7.Text && btn2_7.Text == btn2_10.Text && btn2_10.Text == btn2_13.Text) Win();
            else if (btn2_1.Text != "" && btn2_1.Text == btn2_6.Text && btn2_6.Text == btn2_11.Text && btn2_11.Text == btn2_16.Text) Win();
            //trzeci poziom proste
            else if (btn3_1.Text != "" && btn3_1.Text == btn3_2.Text && btn3_2.Text == btn3_3.Text && btn3_3.Text == btn3_4.Text) Win();
            else if (btn3_5.Text != "" && btn3_5.Text == btn3_6.Text && btn3_6.Text == btn3_7.Text && btn3_7.Text == btn3_8.Text) Win();
            else if (btn3_9.Text != "" && btn3_9.Text == btn3_10.Text && btn3_10.Text == btn3_11.Text && btn3_11.Text == btn3_12.Text) Win();
            else if (btn3_13.Text != "" && btn3_13.Text == btn3_14.Text && btn3_14.Text == btn3_15.Text && btn3_15.Text == btn3_16.Text) Win();

            else if (btn3_1.Text != "" && btn3_1.Text == btn3_5.Text && btn3_5.Text == btn3_9.Text && btn3_9.Text == btn3_13.Text) Win();
            else if (btn3_2.Text != "" && btn3_2.Text == btn3_6.Text && btn3_6.Text == btn3_10.Text && btn3_10.Text == btn3_14.Text) Win();
            else if (btn3_3.Text != "" && btn3_3.Text == btn3_7.Text && btn3_7.Text == btn3_11.Text && btn3_11.Text == btn3_15.Text) Win();
            else if (btn3_4.Text != "" && btn3_4.Text == btn3_8.Text && btn3_8.Text == btn3_12.Text && btn3_12.Text == btn3_16.Text) Win();
            //skośne
            else if (btn3_4.Text != "" && btn3_4.Text == btn3_7.Text && btn3_7.Text == btn3_10.Text && btn3_10.Text == btn3_13.Text) Win();
            else if (btn3_1.Text != "" && btn3_1.Text == btn3_6.Text && btn3_6.Text == btn3_11.Text && btn3_11.Text == btn3_16.Text) Win();
            //czwarty poziom proste
            else if (btn4_1.Text != "" && btn4_1.Text == btn4_2.Text && btn4_2.Text == btn4_3.Text && btn4_3.Text == btn4_4.Text) Win();
            else if (btn4_5.Text != "" && btn4_5.Text == btn4_6.Text && btn4_6.Text == btn4_7.Text && btn4_7.Text == btn4_8.Text) Win();
            else if (btn4_9.Text != "" && btn4_9.Text == btn4_10.Text && btn4_10.Text == btn4_11.Text && btn4_11.Text == btn4_12.Text) Win();
            else if (btn4_13.Text != "" && btn4_13.Text == btn4_14.Text && btn4_14.Text == btn4_15.Text && btn4_15.Text == btn4_16.Text) Win();

            else if (btn4_1.Text != "" && btn4_1.Text == btn4_5.Text && btn4_5.Text == btn4_9.Text && btn4_9.Text == btn4_13.Text) Win();
            else if (btn4_2.Text != "" && btn4_2.Text == btn4_6.Text && btn4_6.Text == btn4_10.Text && btn4_10.Text == btn4_14.Text) Win();
            else if (btn4_3.Text != "" && btn4_3.Text == btn4_7.Text && btn4_7.Text == btn4_11.Text && btn4_11.Text == btn4_15.Text) Win();
            else if (btn4_4.Text != "" && btn4_4.Text == btn4_8.Text && btn4_8.Text == btn4_12.Text && btn4_12.Text == btn4_16.Text) Win();
            //skośne
            else if (btn4_4.Text != "" && btn4_4.Text == btn4_7.Text && btn4_7.Text == btn4_10.Text && btn4_10.Text == btn4_13.Text) Win();
            else if (btn4_1.Text != "" && btn4_1.Text == btn4_6.Text && btn4_6.Text == btn4_11.Text && btn4_11.Text == btn4_16.Text) Win();
            //pionowe
            else if (btn1_1.Text != "" && btn1_1.Text == btn2_1.Text && btn2_1.Text == btn3_1.Text && btn3_1.Text == btn4_1.Text) Win();
            else if (btn1_2.Text != "" && btn1_2.Text == btn2_2.Text && btn2_2.Text == btn3_2.Text && btn3_2.Text == btn4_2.Text) Win();
            else if (btn1_3.Text != "" && btn1_3.Text == btn2_3.Text && btn2_3.Text == btn3_3.Text && btn3_3.Text == btn4_3.Text)Win();
            else if (btn1_4.Text != "" && btn1_4.Text == btn2_4.Text && btn2_4.Text == btn3_4.Text && btn3_4.Text == btn4_4.Text) Win();

            else if (btn1_5.Text != "" && btn1_5.Text == btn2_5.Text && btn2_5.Text == btn3_5.Text && btn3_5.Text == btn4_5.Text) Win();
            else if (btn1_6.Text != "" && btn1_6.Text == btn2_6.Text && btn2_6.Text == btn3_6.Text && btn3_6.Text == btn4_6.Text) Win();
            else if (btn1_7.Text != "" && btn1_7.Text == btn2_7.Text && btn2_7.Text == btn3_7.Text && btn3_7.Text == btn4_7.Text) Win();
            else if (btn1_8.Text != "" && btn1_8.Text == btn2_8.Text && btn2_8.Text == btn3_8.Text && btn3_8.Text == btn4_8.Text) Win();

            else if (btn1_9.Text != "" && btn1_9.Text == btn2_9.Text && btn2_9.Text == btn3_9.Text && btn3_9.Text == btn4_9.Text) Win();
            else if (btn1_10.Text != "" && btn1_10.Text == btn2_10.Text && btn2_10.Text == btn3_10.Text && btn3_10.Text == btn4_10.Text) Win();
            else if (btn1_11.Text != "" && btn1_11.Text == btn2_11.Text && btn2_11.Text == btn3_11.Text && btn3_11.Text == btn4_11.Text) Win();
            else if (btn1_12.Text != "" && btn1_12.Text == btn2_12.Text && btn2_12.Text == btn3_12.Text && btn3_12.Text == btn4_12.Text) Win();

            else if (btn1_13.Text != "" && btn1_13.Text == btn2_13.Text && btn2_13.Text == btn3_13.Text && btn3_13.Text == btn4_13.Text) Win();
            else if (btn1_14.Text != "" && btn1_14.Text == btn2_14.Text && btn2_14.Text == btn3_14.Text && btn3_14.Text == btn4_14.Text) Win();
            else if (btn1_15.Text != "" && btn1_15.Text == btn2_15.Text && btn2_15.Text == btn3_15.Text && btn3_15.Text == btn4_15.Text) Win();
            else if (btn1_16.Text != "" && btn1_16.Text == btn2_16.Text && btn2_16.Text == btn3_16.Text && btn3_16.Text == btn4_16.Text) Win();
            //pionowo skosne proste
            else if (btn1_1.Text != "" && btn1_1.Text == btn2_5.Text && btn2_5.Text == btn3_9.Text && btn3_9.Text == btn4_13.Text) Win();
            else if (btn1_2.Text != "" && btn1_2.Text == btn2_6.Text && btn2_6.Text == btn3_10.Text && btn3_10.Text == btn4_14.Text) Win();
            else if (btn1_3.Text != "" && btn1_3.Text == btn2_7.Text && btn2_7.Text == btn3_11.Text && btn3_11.Text == btn4_15.Text) Win();
            else if (btn1_4.Text != "" && btn1_4.Text == btn2_8.Text && btn2_8.Text == btn3_12.Text && btn3_12.Text == btn4_16.Text) Win();

            else if (btn1_4.Text != "" && btn1_4.Text == btn2_3.Text && btn2_3.Text == btn3_2.Text && btn3_2.Text == btn4_1.Text) Win();
            else if (btn1_8.Text != "" && btn1_8.Text == btn2_7.Text && btn2_7.Text == btn3_6.Text && btn3_6.Text == btn4_5.Text) Win();
            else if (btn1_12.Text != "" && btn1_12.Text == btn2_11.Text && btn2_11.Text == btn3_10.Text && btn3_10.Text == btn4_9.Text) Win();
            else if (btn1_16.Text != "" && btn1_16.Text == btn2_15.Text && btn2_15.Text == btn3_14.Text && btn3_14.Text == btn4_13.Text) Win();

            else if (btn1_16.Text != "" && btn1_16.Text == btn2_12.Text && btn2_12.Text == btn3_8.Text && btn3_8.Text == btn4_4.Text) Win();
            else if (btn1_15.Text != "" && btn1_15.Text == btn2_11.Text && btn2_11.Text == btn3_7.Text && btn3_7.Text == btn4_3.Text) Win();
            else if (btn1_14.Text != "" && btn1_14.Text == btn2_10.Text && btn2_10.Text == btn3_6.Text && btn3_6.Text == btn4_2.Text) Win();
            else if (btn1_13.Text != "" && btn1_13.Text == btn2_9.Text && btn2_9.Text == btn3_5.Text && btn3_5.Text == btn4_1.Text) Win();

            else if (btn1_13.Text != "" && btn1_13.Text == btn2_14.Text && btn2_14.Text == btn3_15.Text && btn3_15.Text == btn4_16.Text) Win();
            else if (btn1_9.Text != "" && btn1_9.Text == btn2_10.Text && btn2_10.Text == btn3_11.Text && btn3_11.Text == btn4_12.Text) Win();
            else if (btn1_5.Text != "" && btn1_5.Text == btn2_6.Text && btn2_6.Text == btn3_7.Text && btn3_7.Text == btn4_8.Text) Win();
            else if (btn1_1.Text != "" && btn1_1.Text == btn2_2.Text && btn2_2.Text == btn3_3.Text && btn3_3.Text == btn4_4.Text) Win();
            //pionowo skosne
            else if (btn1_1.Text != "" && btn1_1.Text == btn2_6.Text && btn2_6.Text == btn3_11.Text && btn3_11.Text == btn4_16.Text) Win();
            else if (btn1_4.Text != "" && btn1_4.Text == btn2_7.Text && btn2_7.Text == btn3_10.Text && btn3_10.Text == btn4_13.Text) Win();

            else if (btn1_16.Text != "" && btn1_16.Text == btn2_11.Text && btn2_11.Text == btn3_6.Text && btn3_6.Text == btn4_1.Text) Win();
            else if (btn1_13.Text != "" && btn1_13.Text == btn2_10.Text && btn2_10.Text == btn3_7.Text && btn3_7.Text == btn4_4.Text) Win();

            else if (move == 64)
            {
                MessageBox.Show("Remis!", "Wynik", MessageBoxButtons.OK, MessageBoxIcon.Information);
                NewGame();
            }
        }

 

komentarz 23 lutego 2022 przez Wiciorny Ekspert (275,640 p.)
zapoznać się z koncepcją programowania obiektowego... ;]

1 odpowiedź

0 głosów
odpowiedź 23 lutego 2022 przez PH03NIX Mądrala (6,130 p.)

Jeżeli to WinFormsy to umieść każdy poziom w Panelu i w nim możesz odwoływać się do kontrolek(przyciski będą w kolejności dodawania do panelu):

 for(int i=0; i<panel1.Controls.Count; i++)
{
  (panel1.Controls[i] as Button).Text = i.ToString();
}
void Check(Panel panel){
if (!string.IsNullOrWhiteSpace(panel.Controls[1].Text) && panel.Controls[1].Text == panel.Controls[2].Text && 
panel.Controls[2].Text == panel.Controls[3].Text && panel.Controls[3].Text == panel.Controls[4].Text) Win();
// pozostałe możliwości ...
}

W WPF analogicznie kontrolki, np. w stackpanelu i odwoływanie się do właściwości Children zamiast Controls.

Podobne pytania

0 głosów
3 odpowiedzi 874 wizyt
pytanie zadane 12 maja 2016 w PHP przez roxy32l Początkujący (470 p.)
0 głosów
1 odpowiedź 227 wizyt
pytanie zadane 7 czerwca 2015 w JavaScript przez SQLL Nowicjusz (230 p.)
0 głosów
1 odpowiedź 147 wizyt
pytanie zadane 2 stycznia 2023 w C# przez DreaM Użytkownik (840 p.)

92,845 zapytań

141,786 odpowiedzi

320,861 komentarzy

62,178 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...