首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助缩短重复的vb代码

需要帮助缩短重复的vb代码
EN

Stack Overflow用户
提问于 2016-04-22 19:17:02
回答 2查看 56关注 0票数 0

我对编程非常陌生,所以这可能是一个非常基本的问题。但是,我需要帮助缩短这个真正重复的代码。我正在做一个纸牌游戏,大约有两百种不同的生物,两个甲板(你的和敌人的)和每层10个槽(意思是每层10个生物)。

在我的UI中的甲板建设者部分,当您实际上向您的甲板添加了一个生物时,它会这样做:

代码语言:javascript
复制
If CritName = "Monarch" Then
    YourCreature1PictureDB.Image = DHBattleSim.My.Resources.Monarch_Icon
    YourCreature1Group.BackColor = Color.Transparent
End If

如果这个生物是"Ariel",那么它就是

代码语言:javascript
复制
If CritName = "Ariel" Then
    YourCreature1PictureDB.Image = DHBattleSim.My.Resources.Ariel_Icon
    YourCreature1Group.BackColor = Color.Transparent
End If

等等,想象一下,有两百个这样的陈述,每一个都是为不同的生物。然后,我需要复制大量的代码,并将所有的1改为2,再一次,将2改为3,等等。在我完成10的操作后,我必须复制所有的代码,并将所有的"YourCreature“短语更改为"EnemyCreature”。所以很明显,这是非常重复和乏味的。我知道查找和替换特性,但我更愿意缩短代码本身,这样我就不必使用它了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-22 19:23:31

您可以使用这样的代码

代码语言:javascript
复制
Dim resources As Object = DHBattleSim.My.Resources.ResourceManager
YourCreature1PictureDB.Image = resources.GetObject(yourVariable & "_Icon")

这,

代码语言:javascript
复制
YourCreature1Group.BackColor = Color.Transparent

可以遵循;在原始代码中,如果始终设置为透明的,则不需要在每个if中显示它。

票数 3
EN

Stack Overflow用户

发布于 2016-04-22 19:24:27

创建一个设置图像的子:

代码语言:javascript
复制
    Public Sub SetCreatureImage(critName As String)        
        YourCreature1PictureDB.Image = DHBattleSim.My.Resources.ResourceManager.GetObject(critName + "_Icon")
        YourCreature1Group.BackColor = Color.Transparent
    End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36801715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档