我正在用C#制作一个国际象棋游戏。我有2个类,Field和Piece:
public class Field
{
// the piece that is standing on this field
// null if no piece is standing on it
public Piece piece { get; set; }
}
public class Piece
{
// the field this piece is standing on
public Field field { get; set; }
}
当一个棋子移动时,调用此方法(在类棋子中):
public void Move(Field field)
{
this.field = field;
field.piece = this;
}
这似乎不是很好的编码,因为每次我更改字段属性时,我还必须更改该字段的 piece 属性。不过,我确实需要这两个属性,因为在我的代码的其他地方,我需要它们来执行检查等(例如,这块是什么字段,这个字段由哪一部分组成)。
我的问题是:这完全没问题,是代码有难闻还是完全错误?解决这个问题的好解决方案是什么?
有什么建议吗?提前致谢!
墨色风雨
繁华开满天机
相关分类