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

c# kółko i krzyżyk, funkcja

Object Storage Arubacloud
0 głosów
3,536 wizyt
pytanie zadane 25 listopada 2018 w C# przez Corson Początkujący (260 p.)

Witam

Za zadanie mam zrobic grę kółko i krzyżyk w c# w visualu i napotkałem pewien problem. Od razu ostrzegę że mamy tylko trochę go liznąć bo inna specjalizacja ale do meritum. Chciałbym dla mojego kodu stworzyć funkcję lub tablicę przycisków,  aby nie był on tak powtarzalny jak widać to w kodzie, ale nie znajac dobrze c# i przeszukując internet nie natrafiłem na nic pomocnego. Także liczę na to że znajdzie się ktoś tutaj kto mi pomoże, beż niemiłych docinek. 

namespace Kolko_i_krzyzyk
{
    public partial class Form1 : Form
    {
        int runda;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button1.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button1.Text = "O";
                runda--;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button2.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button2.Text = "O";

            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button3.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button3.Text = "O";

            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button4.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button4.Text = "O";
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button5.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button5.Text = "O";
            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button6.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button6.Text = "O";
            }
        }

        private void button7_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button7.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button7.Text = "O";
            }
        }

        private void button8_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button8.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button8.Text = "O";
            }
        }

        private void button9_Click(object sender, EventArgs e)
        {
            if (runda == 0)
            {
                button9.Text = "X";
                runda++;
            }
            else if (runda == 1)
            {
                button9.Text = "O";
            }
        }
    }
}

 

1 odpowiedź

0 głosów
odpowiedź 26 listopada 2018 przez Siemił Mądrala (7,380 p.)
edycja 26 listopada 2018 przez Siemił

Cześć,

Pod wszystkie przyciski podepnij jeden zdarzenie.

Zmienną runda najlepiej zmień na typ bool.

Samo zdarzenie mniej więcej powinno wyglądać tak:

        private void button_Click(object sender, EventArgs e)
        {
            if (sender is Button)
            {
                (sender as Button).Text = runda ? "X" : "0";
                runda = !runda;
            }
        }

 

komentarz 27 listopada 2018 przez Corson Początkujący (260 p.)
Czyli to mam zastąpić co mam pod buttonami czy jak, bo nie zrozumiałem?
komentarz 27 listopada 2018 przez Siemił Mądrala (7,380 p.)

Przepraszam ale nigdy nie byłem dobry w tłumaczeniu.

Rozumiem że widok mam zbudowany z 9 przycisków na których za pomocą kliknięcia ustawiasz "O" lub "X"?

Jeśli tak to musisz w każdym przycisku ustawić event Click na funkcję button_Click którą podałem wyżej. Robisz to w następujący sposób:

1) Otwierasz Form1.cs [Design],

2) Zaznaczasz przycisk,

3) Klikasz na błyskawicę i "Click" ustawiasz na button_Click,

4) Powtarzasz dla pozostałych przycisków.

W ten sposób zamiast 9 funkcji osobno dla każdego przycisku masz 1 która się wykonuje dla wszystkich przycisków.

Pozdrawiam.

Podobne pytania

0 głosów
1 odpowiedź 723 wizyt
+1 głos
2 odpowiedzi 1,385 wizyt
+4 głosów
4 odpowiedzi 6,658 wizyt
pytanie zadane 28 lutego 2016 w Offtop przez maciek061 Gaduła (4,490 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...