需要帮助缩短重复的VB代码
问题描述:
我很新的编程,所以这可能是一个非常基本的问题。但是,我需要帮助来缩短这个真正重复的代码。 我正在制作一款拥有大约200种不同生物,2副牌(你和敌人)以及每个牌组10个插槽(意味着每个牌组有10个生物)的纸牌游戏。需要帮助缩短重复的VB代码
在我的UI,当你真正的生物添加到您的甲板上的甲板建设者的一部分,它这样做:
If CritName = "Monarch" Then
YourCreature1PictureDB.Image = DHBattleSim.My.Resources.Monarch_Icon
YourCreature1Group.BackColor = Color.Transparent
End If
如果生物是“碧浪”,那么这将会是
If CritName = "Ariel" Then
YourCreature1PictureDB.Image = DHBattleSim.My.Resources.Ariel_Icon
YourCreature1Group.BackColor = Color.Transparent
End If
等现在,想象有两百个这样的陈述,每个陈述都是针对不同的生物。那么我需要复制那么大块的代码,并将所有的1改为2,再次将2改为3等等。在完成10之后,我必须复制所有这些,并将所有的“YourCreature”短语改为“EnemyCreature”。所以显然这是非常重复和乏味的。 我知道查找和替换功能,但我宁愿缩短代码本身,以便我不必诉诸于此。
答
您可以使用这样的代码
Dim resources As Object = DHBattleSim.My.Resources.ResourceManager
YourCreature1PictureDB.Image = resources.GetObject(yourVariable & "_Icon")
这
YourCreature1Group.BackColor = Color.Transparent
可以遵循;在原始代码中,如果它始终设置为透明,则它不需要出现在每个if
中。
答
创建子用于设置图像:
真棒!这工作完美。谢谢 :) – Lord