Søk i nettsamfunnet

Søkefiltre


 Søkefiltre

Innhold merket '4 på rad'

Fant 1 resultat


Resultater

  1. Hei driver å lager et 4 på rad spill og sitter fast. jeg får at det funker 4 på rad nedover men ikke skrått og bortover, jeg er ny på dette og har fått hjelp med koden, men skjønner ikke hvordan jeg får vinner bortover eller på skrått. dette er da koden:

    public partial class Form1 : Form { public int xpos = 150;//X-verdien til øvre venstre hjørne public int ypos = 150;//X-verdien til øvre venstre hjørne public int size = 50; //Størrelsen på ruten public string[,] tabell = new string[7, 7]; public string tegn = "X"; public string vinner=""; public int rad; public int kolonne; public int mousex; public int mousey; public void sjekk_vinner() { //if (tabell[0, 0] == tabell[0, 1] && tabell[0, 0] == tabell[0, 2]) { if (tabell[0, 2] != "") { vinner = tabell[0, 1]; } } int x = kolonne; int y = rad; int antup=0; int antdown=0; int antall; int i = 1; if (y > 0) { while (tabell[x, y] == tabell[x, y - i] && x >= 0 && y >= 0) { antup = antup + 1; i++; } } antall = antup + 1 + antdown; if (antall>3) { MessageBox.Show("Vunnet"); } } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics dc = e.Graphics; Pen bluePen = new Pen(Color.Blue, 3); //dc.DrawRectangle(bluePen, xpos, ypos, 3 * size, 3 * size); //dc.DrawRectangle(bluePen, xpos + size, ypos, size, 3 * size); //dc.DrawRectangle(bluePen, xpos, ypos + size, 3 * size, size); Pen redPen = new Pen(Color.Red, 3); for (int i = 0; i < 7; i++) { for (int j = 0; j < 7; j++) { dc.DrawRectangle(bluePen, xpos + size * i, ypos + size * j, size , size); } } for (int i = 0; i < 7; i++) { for (int j = 0; j < 7; j++) { if (tabell[i, j] == "X") { dc.DrawLine(redPen, xpos + i * size, ypos + j * size, xpos + (i + 1) * size, ypos + (j + 1) * size); dc.DrawLine(redPen, xpos + i * size, ypos + j * size+size, xpos + (i + 1) * size, ypos + j * size); } else if (tabell[i, j] == "O") { dc.DrawEllipse(redPen, xpos + i * size, ypos + j * size, size, size); } sjekk_vinner(); if (vinner == "X") { dc.DrawLine(redPen, xpos , ypos , xpos + 3 * size, ypos +3* size); dc.DrawLine(redPen, xpos + 3 * size, ypos , xpos + 3 * size, ypos); } else if (vinner == "O") { dc.DrawEllipse(redPen, xpos , ypos , size*4, size*4); } } } //Nå slutter onpaint } public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < 7; i++) { for (int j = 0; j < 7; j++) { tabell[i,j]=""; } } } private void Form1_MouseClick(object sender, MouseEventArgs e) { kolonne = -1; rad = -1; mousex = e.X; mousey = e.Y; if (mousex > xpos) if (mousex < xpos + size) { kolonne = 0; } else if (mousex < xpos + size * 2) { kolonne = 1; } else if (mousex < xpos + size * 3) { kolonne = 2; } else if (mousex < xpos + size * 4) { kolonne = 3; } else if (mousex < xpos + size * 5) { kolonne = 4; } else if (mousex < xpos + size * 6) { kolonne = 5; } else if (mousex < xpos + size * 7) { kolonne = 6; } if (mousey > ypos) { if (mousey < ypos + size) { rad = 0; } else if (mousey < ypos + size * 2) { rad = 1; } else if (mousey < ypos + size * 3) { rad = 2; } else if (mousey < ypos + size * 4) { rad = 3; } else if (mousey < ypos + size * 5) { rad = 4; } else if (mousey < ypos + size * 6) { rad = 5; } else if (mousey < ypos + size * 7) { rad = 6; } } if (kolonne != -1 && rad != -1 && tabell[kolonne,rad]=="") { tabell[kolonne, rad] = tegn; if (tegn == "X") { tegn = "O"; } else { tegn = "X"; } } Refresh(); } } } etter at jeg får en vinner nedover så kommer boksen opp med at du har vunnet, men når jeg klikker ok så bare repeterer den 30 ganger med ok.

    hvis det er noe dere lurer på bare spør