我之前问过一个关于检测是否选择了棋子的问题。我被介绍给数组,现在选择正在按照我想要的方式工作,除了我无法更改颜色的事实。
public static Color[] pieceColo = new Color[4]
{ PawnBl1Col, PawnBl2Col, PawnBl3Col, PawnBl4Col};
这是我正在修复的数组,PawnBl1Col 被声明为白色(以及所有其他值)
if (movement.pieceLocX[movement.pLvalX] <= movement.mouseCord.X
&& movement.pieceLocX[movement.pLvalX] + 100 >= movement.mouseCord.X
&& movement.pieceLocY[movement.pLvalY] <= movement.mouseCord.Y
&& movement.pieceLocY[movement.pLvalY] + 100 >= movement.mouseCord.Y)
movement.pieceColo[movement.pLvalX] = Color.Red;
执行时 if 语句运行良好,但在执行命令时它失败并且什么也不做。
movement.PawnBl1Col = Color.Red;
但是,如果我用上面的颜色数组替换它,它可以无缝工作。
编辑:忘记了很大一部分运动。pLvalX 只是一个与每个对象重合的整数。它测试所有 8 个值(将是 32)。如果选择了 X 对象,那么 X 对象会改变颜色,我不确定这是否有意义。但即使用 0-3 测试颜色数组也行不通。