public Scorebord(Size schermformaat, Speelveld speelveld) { int schermbreedte = schermformaat.Width; s = speelveld; this.Size = new Size(300, 175); this.Location = new Point(50, schermformaat.Height - speelveld.Height - 225); this.Invalidate(); this.Paint += Handle_Paint; }
public void Insluiten(Speelveld speelveld) { Vakje[,] vakjes = speelveld.vakjes; bool ingesloten; for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { int di = i, dj = j; ingesloten = false; int ingeslotenn = 0; while (x + di >= 0 && x + di < speelveld.xvakjes && y + dj >= 0 && y + dj < speelveld.yvakjes) // { if (vakjes[x + di, y + dj].gevuld && vakjes[x + di, y + dj].rood != speelveld.roodbeurt) { ingesloten = true; ingeslotenn++; } else if (vakjes[x + di, y + dj].gevuld && vakjes[x + di, y + dj].rood == speelveld.roodbeurt && ingesloten) { for (int t = 1; t <= ingeslotenn; t++) { vakjes[x + i * t, y + j * t].rood = speelveld.roodbeurt; } break; } else { break; } di = di + i; dj = dj + j; } } } }
public bool Legaal(Speelveld speelveld, bool roodbeurt) { Vakje[,] vakjes = speelveld.vakjes; bool ingesloten; if (this.gevuld) { return(false); } for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { int di = i, dj = j; ingesloten = false; while (x + di >= 0 && x + di < speelveld.xvakjes && y + dj >= 0 && y + dj < speelveld.yvakjes) // { if (vakjes[x + di, y + dj].gevuld && vakjes[x + di, y + dj].rood != roodbeurt) { ingesloten = true; } else if (vakjes[x + di, y + dj].gevuld && vakjes[x + di, y + dj].rood == roodbeurt && ingesloten) { return(true); } else { break; } di = di + i; dj = dj + j; } } } return(false); }
public void Tekenvakje(Graphics g, int grootte, Speelveld speelveld) { if (gevuld) { if (rood) { g.FillEllipse(Brushes.Red, x * grootte + 1, y * grootte + 1, grootte - 2, grootte - 2); } else { g.FillEllipse(Brushes.Blue, x * grootte + 1, y * grootte + 1, grootte - 2, grootte - 2); } } else if (this.Legaal(speelveld, speelveld.roodbeurt) && speelveld.help) { g.FillEllipse(Brushes.LightGray, x * grootte + 1, y * grootte + 1, grootte - 2, grootte - 2); } }
public Scherm() { speelveld = new Speelveld(); this.ClientSize = new Size(speelveld.Width + 100, speelveld.Height + 300); speelveld.Location = new Point(50, ClientSize.Height - speelveld.Height - 50); scorebord = new Scorebord(this.ClientSize, speelveld); reset = new Button(); reset.Location = new Point(50, 20); reset.Text = "Nieuw Spel"; reset.BackColor = Color.LightGray; reset.Click += (sender, e) => { speelveld.Leeg(); speelveld.pasknop = false; scorebord.Invalidate(); speelveld.Invalidate(); }; help = new Button(); help.Location = new Point(150, 20); help.Text = "Help"; help.BackColor = Color.LightGray; help.Click += (sender, e) => { speelveld.help = !speelveld.help; speelveld.Invalidate(); }; pas = new Button(); pas.Location = new Point(250, 20); pas.Text = "Overslaan"; pas.BackColor = Color.LightGray; pas.Click += (sender, e) => { speelveld.roodbeurt = !speelveld.roodbeurt; Controls.Remove(pas); scorebord.Invalidate(); }; speelveld.MouseClick += (sender, e) => { Invalidate(); scorebord.Invalidate(); if (speelveld.pasknop) { Controls.Add(pas); } else { Controls.Remove(pas); } if (speelveld.Gameover()) { Controls.Remove(pas); } }; Controls.Add(speelveld); Controls.Add(scorebord); Controls.Add(reset); Controls.Add(help); }