我正在尝试创建Reversi游戏(这是我要制作的游戏的图像:
我在以下问题上遇到了很大的困难:单击矩形后,我希望能够绘制一个红色或蓝色填充的圆。但是,我不知道该怎么做。使用PictureBox数组而不是整数数组创建矩形会更好吗?我只是希望能够单击一个正方形,然后在矩形的中心绘制一个红色/蓝色圆圈(取决于移动的对象)。如果可以,我是否应该在UserControl中打开该字段?
能够做到这一点之后,我应该检查玩家是否被允许对圈子进行某些移动,所以也许我应该重新划分一个圈子?
// breedteVeld = width of the field, hoogteVeld = height of the vield, vakOmvang = size of the rectangles
int[] breedteVeld= new int[6];
int[] hoogteVeld = new int[6];
int vakOmvang = 40;
public Reversi()
{
this.Size = new Size(vakOmvang * breedteVeld.Length + vakOmvang * 5, vakOmvang * hoogteVeld.Length + vakOmvang * 5);
this.Text = "Reversi";
Button nieuwSpel = new Button();
nieuwSpel.Text = "nieuw spel";
nieuwSpel.Location = new Point((breedteVeld.Length - breedteVeld.Length / 2) * vakOmvang, 20);
int nieuwSpelXLocatie = nieuwSpel.Location.X;
this.Controls.Add(nieuwSpel);
Button help = new Button();
help.Text = "help";
help.Location = new Point(nieuwSpelXLocatie + 100, 20);
this.Controls.Add(help);
this.Paint += tekenVeld;
}
public void tekenVeld(object o, PaintEventArgs pea)
{
Graphics gr = pea.Graphics;
for (int t = 0; t < breedteVeld.Length; t++)
for (int i = 0; i < hoogteVeld.Length; i++)
gr.DrawRectangle(Pens.Black, 2 * vakOmvang + t * vakOmvang, 2 * vakOmvang + i * vakOmvang, vakOmvang, vakOmvang);
}
}