单击矩形后如何创建实心圆?

时间:2019-10-20 13:48:54

标签: c# winforms

我正在尝试创建Reversi游戏(这是我要制作的游戏的图像:

enter image description here)。

我在以下问题上遇到了很大的困难:单击矩形后,我希望能够绘制一个红色或蓝色填充的圆。但是,我不知道该怎么做。使用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);
    }
}

0 个答案:

没有答案
相关问题