【发布时间】:2018-02-07 23:19:02
【问题描述】:
我想制作一个程序来混合卡片然后重置它们(就像在开始时一样)。我制作了 52 个 Picturebox,每个都应该是一个 .png 文件。我的程序会通过随机改变每个 Picturebox 的位置来混合卡片。
问题:
我想给每个数组另一个图片框的数据
类似这样的:
PictureBox[] cards = new PictureBox[52];
cards[0] = PictureBox1;
cards[1] = PictureBox2;
cards[2] = PictureBox3;
and so on until it would reach 52.
有没有办法让它自动生成?我想也许有一个for循环。 类似的东西:
for (int i = 0; i < 53; i++)
cards[i]= Picturebox.i
我知道我不能只在 Picturebox 之后写一个 i 但也许你知道一种方法并且非常重要:请尝试使用相同的结构。就像可以尽可能少地改变一样
【问题讨论】:
-
我会重新考虑设计。卡片就是卡片——它们将具有价值、等级、套装和可选的图像。图片框就是您显示任何给定卡片的方式 - 它只能处理这些属性中的一个。而且,每张发 牌只需要一张。请阅读How to Ask 并采取tour
-
您可能正在尝试制作游戏。免责声明:Windows 窗体不适合游戏开发。一个简单的纸牌游戏实际上可能仍然有效。但不能保证。创建 PictureBox 的重要部分实际上是将其添加到表单中。
cards[i]= Picturebox.i应该看起来像:cards[i]= new Picturebox();你可能试图给出像“PictureBox1”、“PictureBox2”等这样的名字。但这是不必要的。你已经有了数组来寻址它们。 Plutonix 在设计上也有一些优点。 -
@Christopher: “Windows Forms 不适合游戏开发” -- 告诉Windows Solitaire。
-
不过,卡片就是卡片(数据),而图片框只是您向用户展示它们的方式。将您的 googler 定位到带有术语
Shuffle的帖子。 PictureBoxes 不需要洗牌,data 可以。请阅读How to Ask 并采取TOUR -
您所要做的就是将
List<String>或List<Image>重新分配给固定的静态PB。你正在艰难地做这件事。 UI 控件使可怕程序变量