我正在用C#创建大富翁游戏,这是我的第一个更大的项目。游戏由面板(城市,活动等)组成。玩家被表示为在面板上绘制的矩形,这是一个问题。位置表存储有关每个玩家位置的信息,然后我在每个面板的绘画方法中比较表格的每个元素(有21个面板,什么给出84'如果'语句)。例如:
private void panel4_Paint(object sender, PaintEventArgs e)
{
g = e.Graphics;
Pen redpen = new Pen(Color.Red, 5);
Rectangle rectangle = new System.Drawing.Rectangle(10, 10, 120, 120);
g.DrawEllipse(redpen, rectangle);
if (position[0] == 3)
{
g.FillRectangle(blackbrush, new Rectangle(110, 110, 20, 20));
}
if (position[1] == 3)
{
g.FillRectangle(yellowbrush, new Rectangle(80, 110, 20, 20));
}
if (position[2] == 3)
{
g.FillRectangle(redbrush, new Rectangle(50, 110, 20, 20));
}
if (position[3] == 3)
{
g.FillRectangle(bluebrush, new Rectangle(20, 110, 20, 20));
}
}
有没有更短的方法来实现这一目标?我打算增加房屋和酒店,因此变得更加复杂。