我对编程非常陌生,所以这可能是一个非常基本的问题。但是,我需要帮助缩短这个真正重复的代码。我正在做一个纸牌游戏,大约有两百种不同的生物,两个甲板(你的和敌人的)和每层10个槽(意思是每层10个生物)。
在我的UI中的甲板建设者部分,当您实际上向您的甲板添加了一个生物时,它会这样做:
If CritName = "Monarch" Then
YourCreature1PictureDB.Image = DHBattleSim.My.Resources.Monarch_Icon
YourCreature1Group.BackColor = Color.Transparent
End If如果这个生物是"Ariel",那么它就是
If CritName = "Ariel" Then
YourCreature1PictureDB.Image = DHBattleSim.My.Resources.Ariel_Icon
YourCreature1Group.BackColor = Color.Transparent
End If等等,想象一下,有两百个这样的陈述,每一个都是为不同的生物。然后,我需要复制大量的代码,并将所有的1改为2,再一次,将2改为3,等等。在我完成10的操作后,我必须复制所有的代码,并将所有的"YourCreature“短语更改为"EnemyCreature”。所以很明显,这是非常重复和乏味的。我知道查找和替换特性,但我更愿意缩短代码本身,这样我就不必使用它了。
发布于 2016-04-22 19:23:31
您可以使用这样的代码
Dim resources As Object = DHBattleSim.My.Resources.ResourceManager
YourCreature1PictureDB.Image = resources.GetObject(yourVariable & "_Icon")这,
YourCreature1Group.BackColor = Color.Transparent可以遵循;在原始代码中,如果始终设置为透明的,则不需要在每个if中显示它。
发布于 2016-04-22 19:24:27
创建一个设置图像的子:
Public Sub SetCreatureImage(critName As String)
YourCreature1PictureDB.Image = DHBattleSim.My.Resources.ResourceManager.GetObject(critName + "_Icon")
YourCreature1Group.BackColor = Color.Transparent
End Subhttps://stackoverflow.com/questions/36801715
复制相似问题