我想在Visual Basic.NET 2010中创建垄断板和ludo游戏。
我该如何表示董事会?我正在考虑图片盒,但后来他们变得笨拙,无法单独处理。你可以创建图片框的数组?在Visual Basic中创建垄断和Ludo
此外,由于我只是一个新手程序员,你能说出Visual Basic的哪些功能对这个游戏有用么?
我想在Visual Basic.NET 2010中创建垄断板和ludo游戏。
我该如何表示董事会?我正在考虑图片盒,但后来他们变得笨拙,无法单独处理。你可以创建图片框的数组?在Visual Basic中创建垄断和Ludo
此外,由于我只是一个新手程序员,你能说出Visual Basic的哪些功能对这个游戏有用么?
您可以随时在VB(和C#)中以编程方式添加它们,而不是在Forms设计器中添加控件。这使您可以随意将它们存储在任何地方,如二维数组中。一定要将它们添加到Form.Controls
属性中。
Dim board as New PictureBox(M-1, N-1) {}
myform.SuspendLayout() ' Diminishes flicker.
For i As Integer = 0 To M - 1
For k As Integer = 0 To N - 1
Dim pic = New PictureBox()
'TODO: set the properties of the PictureBox here
board(i, k) = pic
myForm.Controls.Add(pic)
Next k
Next i
myForm.ResumeLayout()
也可以考虑加入PictureBoxes
为TableLayoutPanel
,而不是直接将它们添加到窗体。
而且,最好创建一个Board
类,并处理该类中的所有板逻辑,而不是执行表单事件处理程序中的逻辑。其他类如Player
或Game
或Score
也会有所帮助。
最好不要创建一个PictureBox的2-D数组,而是一些可以存储附加信息的类的数组,这些数据可以存储附加信息,例如正方形的状态或留在正方形上的数字列表,或者对适用于正方形等的特殊规则的引用。你在游戏设计方面有很大的自由。智能设计将更容易处理和适应其他游戏,而不仅仅是在事件处理程序中使用PictureBoxes
。
没关系,那是个好主意。 :) –
非常感谢。我一定会实现这些想法 –
我不考虑使用PictureBox,而是考虑创建一个UserControl,它封装与板上正方形相关的所有UI相关逻辑。例如,您可能希望棋盘上的所有方块都具有特定的右键单击上下文菜单,或者双击时做特别的操作。在大富翁中,您可能希望每个广场都有一个物业名称,价格,颜色等。
好吧。实际上我没有使用过用户控件。所以,我想我可能会这样做 –
实际上,我非常想要一种用于董事会代表性的方法。最后一次,当我创建国际象棋时,我使用了64个图片框并访问它们,并改变它们的属性,结果效率很低 –