Boter, Kaas & Eieren in C#!

Status
Niet open voor verdere reacties.

CaptainBri

Gebruiker
Lid geworden
22 jul 2010
Berichten
933
Hoi allemaal, ik loop op het moment even vast met het programma (Boter, Kaas & Eieren) na 3 uur hard nadenken en proberen. Verder dan een miljoen switches/IF's schrijven ben ik niet echt gekomen.

Het volgende vraag ik me af, hoe ik dat voor elkaar kan krijgen, is hoe ik kan checken of iemand gewonnen heeft? De check moet uitgevoerd worden op elke druk, dit heb ik geprobeerd met een functie, maar verder dan wat switches/if's(zoals hierboven beschreven) kwam ik niet :o



De code voor het aanmaken van de X's en Y's is deze:

Code:
        private void chk(object sender, EventArgs e)
        {
            foreach (Button a in Controls)
            {
                if (a == ((Button)sender))
                {
                    i++;

                    if (i % 2 == 0)
                    {
                        a.Text = "X";
                        a.Enabled = false;
                    }
                    else
                    {
                        a.Text = "Y";
                        a.Enabled = false;
                    }
                }
            }
        }

Zo ziet de GUI eruit:

125hv2u.png


Na wat enkele keren op knoppen gedrukt te hebben:

ua5mx.png


Ik kom er maar niet uit :confused:

Alle hulp is welkom! :thumb:
 
Als je gebruik hebt gemaakt van een 2 dimensionale array kan je een check uitvoeren in rijen/diagonalen.

probeer het hier eens mee:

Code:
int[][] speelVeld = new int[3][3]; //(kan je ook een string array of een Array met Button's van maken)

private int checkWinner(){

//we gaan er vanuit dat X waarde 1 heeft en Y waarde 2

//Vertikaal
for(int i = 0; i < 3; i++){
  if(speelVeld[i][0] == speelVeld[i][1] && speelVeld[i][0]  == speelVeld[i][2]) 
  {
   return speelVeld[i][0];
  }
}

//Horizontaal

for(int i = 0; i < 3; i++){
  if(speelVeld[0][i] == speelVeld[1][i] && speelVeld[0][i]  == speelVeld[2][i]) 
  {
   return speelVeld[0][i];
  }
}

//diagonaal

if(speelVeld[0][0] == speelVeld[1][1] && speelVeld[0][0] == speelVeld[2][2])
{
  return speelVeld[1][1];
}

if(speelVeld[2][0] == speelVeld[1][1] && speelVeld[2][0] == speelVeld[0][2])
{
  return speelVeld[1][1];
}

//als aan geen van deze condities voldaan wordt, 0 returnen = geen winnaar.
return 0;


}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan