首先是一些背景信息。我正在玩D& D的在线活动,正在玩德鲁伊。我已经为所有被召唤的动物建立了一个动物追踪器,但是现在我想通过建立一个角色追踪器,为我自己的角色Duncan以及我的强大的Eddy(可怕的狼动物)来加快速度。同伴)。
我现在正在做的事情是跟踪我的法术。在D& D中,法术和法术等级基于角色和奖励属性的等级。
对于德鲁伊:http://www.dandwiki.com/wiki/SRD:Druid 对于奖金:http://www.dandwiki.com/wiki/SRD:Ability_Scores
向下滚动“能力”修改器,所以智慧越多,法术就越多。
现在,我正在考虑制作标签控制页面,用于从等级0到等级9的法术,然后显示组合框以选择你想要准备的法术。
当然,我正计划隐藏绝大多数的组合框,并且只用简单的If语句取消隐藏它们,所以如果智慧足够高,取消隐藏x数量的组合框......但这意味着要创建大量的IF语句
有没有办法说,如果智慧足够高达10个法术,显示10个组合框,如果智慧足够只有5个,只显示5个?
或者其他人对如何做到这一点有一个很好的选择吗?我愿意接受建议。
答案 0 :(得分:1)
注意:,因为您没有指定语言或我将使用C#和Windows Forms。
当然,我不确定你如何确定智慧水平,但是我们说它存储在一个名为_wisdomLevel
的变量中:
private int _wisdomLevel;
现在你需要一个Dictionary
来处理:
private Dictionary<int, int> _wisdomLevelSpells = new Dictionary<int, int>
{
{ 1, 5 },
{ 2, 5 },
{ 3, 10 },
}
现在,我放在那里的值是随机的,它们是你可以得到的想法。现在要显示那些组合框我可能会做这样的事情:
for (int i = 0; i < _wisdomLevelSpells[_wisdomLevel]; i++)
{
this.Controls.Add(new ComboBox()
{
DataSource = ...,
ValueMember = ...,
DisplayMember = ...,
}
}