Vb.net 我的游戏的Visual Basic帮助
我正在用Visual Basic构建一个名为战舰的游戏。我有100个按钮(10行x 10列),我希望用户能够单击一个按钮,并为特定按钮创建一个名为Vb.net 我的游戏的Visual Basic帮助,vb.net,Vb.net,我正在用Visual Basic构建一个名为战舰的游戏。我有100个按钮(10行x 10列),我希望用户能够单击一个按钮,并为特定按钮创建一个名为IsCreated(布尔值)的函数 两个问题: 1.如何创建此函数? 2.如何使已创建的按钮从“真”变为“假” 一种非常基本的方法是为每个按钮分配一个数字,并在onClick()的函数调用中使用该数字。你只需要一个全局布尔数组(我使用boardPosition) 私有子按钮1\u单击(ByVal sender作为对象,ByVal e作为System.
IsCreated
(布尔值)的函数
两个问题:1.如何创建此函数?
2.如何使已创建的按钮从“真”变为“假” 一种非常基本的方法是为每个按钮分配一个数字,并在onClick()的函数调用中使用该数字。你只需要一个全局布尔数组(我使用boardPosition)
私有子按钮1\u单击(ByVal sender作为对象,ByVal e作为System.EventArgs)\处理按钮1。单击
boardPosition(1)=已创建(1)
末端接头
那么你只要:
已创建受保护的函数(byVal按钮数字单击为整数)
如果boardPosition(按钮编号已单击),则
返回true
否则
返回false
如果
则结束
端函数
这是假设您刚刚创建了100个按钮……这不是一个优雅的解决方案,但它会起作用。编辑:清理。我会以编程方式创建按钮,并将它们添加到字典或列表中以跟踪它们。您可能需要某种类来保存关于每个网格单元的所有信息,而不仅仅是一个布尔数组。将以下内容添加到空白表单1中
Dim IsCreated(99) As Boolean
Dim Buttons As New Dictionary(Of String, Button)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For i As Integer = 0 To 99
Dim B As New Button
Me.Controls.Add(B)
B.Height = 30
B.Width = 40
B.Left = (i Mod 10) * 41
B.Top = (i \ 10) * 31
B.Text = Chr((i \ 10) + Asc("A")) & i Mod 10 + 1
Buttons.Add(B.Text, B)
B.Tag = i
AddHandler B.Click, AddressOf Button_Click
Next
End Sub
Private Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim B As Button = sender
IsCreated(B.Tag) = True
B.BackColor = Color.Red
End Sub
好的,这有帮助。我知道它不优雅,但桌面布局面板没有任何帮助。谢谢你的帮助,不过我很感激!