将图片框与值匹配
本文关键字: | 更新日期: 2023-09-27 18:37:04
这是我的第一篇文章,我真的需要帮助。
我的问题是我正在使用 C# 创建一个老虎机游戏,我已经让除了值之外的所有工作都正常工作。我的想法是我需要将图片与它的值相匹配,假设(图片小丑 = 100 分)。 无论如何可以使用函数来做到这一点,以便我以后可以在整个程序中调用它。
我尝试使用这种功能:
void ImageValues (int RollResult)
{
switch (RollResult)
{
case 0 :
TempTotal += 100;
break;
case 1 :
TempTotal += 225;
break;
case 2 :
TempTotal += 550;
break;
case 3 :
TempTotal += 775;
break;
case 4 :
TempTotal += 1000;
break;
}
}
但是当我调用函数时,我必须定义我想使用的情况。我无法将图片预定义为值,我的朋友告诉我尝试匹配索引,例如图片的索引来自:
int[] PictureValues = new int[]{100, 225, 550, 775, 1000};
到图片框数组:
PictureBox[] PictureboxArray = new PictureBox[5];
有没有办法做到这一点?感谢您的帮助。
编辑 1 ,图像是这样分配的
PictureboxArray[0] = pbxK;
PictureboxArray[1] = pbxQueen;
PictureboxArray[2] = pbxKing;
PictureboxArray[3] = pbxJoker;
PictureboxArray[4] = pbxAce;
Rollimage[0] = Properties.Resources.K;
Rollimage[1] = Properties.Resources.Queen;
Rollimage[2] = Properties.Resources.King;
Rollimage[3] = Properties.Resources.Joker;
Rollimage[4] = Properties.Resources.Ace;
pbxK.Image = Rollimage[0];
pbxQueen.Image = Rollimage[1];
pbxKing.Image = Rollimage[2];
pbxJoker.Image = Rollimage[3];
pbxAce.Image = Rollimage[4];
每个图片框控件都有一个名为 Tag
的属性,如果单击图片框,则会在属性窗口中看到它。您可以将预定义的分数值存储在标签中,并在必要时检索它们。
根据属性窗口,标记为:"User-defined data associated with the object"
您可以使用带有
卡名称和值的Dictionary<string,int>
代替 int
数组。
enum Pics
{
"K","Queen","King","Joker","Ace"
}
您可以使用卡的名称枚举卡的名称并将分支到特定事例,并将值添加到TempTotal
。
switch(RollResult)
{
case Pics.K:
TempTotal += picsDictionary["K"];
break;
//...
}