我正在尝试使用c#中的Windows窗体编写战舰游戏,我的想法是使用带有我的船只和尺寸的二维阵列,然后以某种方式将其显示在网格上(网格内部是按钮)
我已经想出如何通过使用发送器来获取按钮的位置等,然后能够更改它们的颜色但是我需要能够将我的2d阵列与船舶“附加”到如果您有任何代码向我展示如何做到这一点,那么网格然后将用于船只的按钮更改为用户的灰色。
答案 0 :(得分:0)
您可以通过将数组映射到网格中的单元格来完成此操作。
假设每个单元格的编号从左上角到右下角,您可以根据单元格编号索引到数组。
可以在按钮的Tag
属性中设置单元格编号。
答案 1 :(得分:0)
这可能不是最佳解决方案,但是:
您是否考虑过拥有一系列对象,例如
public class BattleCell{
public Button HitButton{get;set;}
public int Row{get;set;}
public int Column{get;set;}
public bool IsBombed{get;set;}
public bool IsHit{get;set;}
}
一般的想法是你创建一个“单元格”的2D数组,其中包含要按下和修改的按钮。您可以以编程方式将按钮放在网格上。然后,您可以完全控制该单元格的其他属性。
然后你会像这样构建一个二维矩阵
cells = new BattleCell[10, 10];
并用相关对象填充