需要帮助缩短重复的VB代码

需要帮助缩短重复的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中。

+0

真棒!这工作完美。谢谢 :) – Lord

创建子用于设置图像:

​​