验证VB.NET的位置

验证VB.NET的位置,vb.net,minesweeper,Vb.net,Minesweeper,所以我正在开发一个扫雷游戏,我正在分配地雷,但我无法创建一个算法来阻止地雷进入一个已经有地雷的地方,以下是我到目前为止得到的: 公共子初始化标志() 有人能帮我吗? 最好的问候,joao。最简单的方法是在设置前检查,例如: if mat(line, column) = 0 then numbandeiras = numbandeiras + 1 avisinhos() mat(line, column) = 1 end if 您需要将所有放置的“地雷”存储在某种数组

所以我正在开发一个扫雷游戏,我正在分配地雷,但我无法创建一个算法来阻止地雷进入一个已经有地雷的地方,以下是我到目前为止得到的:

公共子初始化标志()

有人能帮我吗?
最好的问候,joao。

最简单的方法是在设置前检查,例如:

if mat(line, column) = 0 then
    numbandeiras = numbandeiras + 1

    avisinhos()

    mat(line, column) = 1
end if

您需要将所有放置的“地雷”存储在某种数组中。如果你想用这些地雷做点什么,这最终会更好。如果你有地雷作为物体,它会使它们变得更好,因为现在它们可以有像死的、活的或像MS版本那样的“?”状态


就我的2美分。

首先.NET是高度面向对象的。所以你必须“应该”创建一个
Mine
类。这个mine类包含网格矩阵中的一个位置和一个属性
myMine.isSet(x,y)作为布尔值。如果在x,y坐标范围内存在地雷(或任何其他地雷,如果您希望在地雷的
列表集合
,或
堆栈
),则函数可以从网格中获取2个参数x和y,并返回true或false。否则,您将在意大利面代码中结束,并试图更新它或增强它将是一个彻底的噩梦。
if mat(line, column) = 0 then
    numbandeiras = numbandeiras + 1

    avisinhos()

    mat(line, column) = 1
end if