我尝试创建一个每日奖励系统。但我有一个问题。
首先是代码:
Random rndDailyItem = new Random();
short[] itemIds = { 9023, 9041 };
rndDailyItem.Next(0, itemIds.Length);
所以,问题是:我想要"itemIds"作为输出,但我现在得到的输出只是 0 或 1,我错了什么?
代码的"其余部分"是这样的:
编辑:
if (rndDailyItem != null)
{
session.Character.DailyBonus = DateTime.Now.AddDays(1);
session.Character.SendGift(session.Character.CharacterId, Convert.ToInt16(rndDailyItem.Next(0, itemIds.Length)), Convert.ToByte(rndDailyAmount.Next(0, itemAmount.Length)),
0, 0, false);
session.SendPacket(
session.Character.GenerateSay(Language.Instance.GetMessageFromKey("DAILY_RECEIVED"), 10));
}
else
{
session.SendPacket(
UserInterfaceHelper.GenerateMsg(Language.Instance.GetMessageFromKey("ERROR_MESSAGE"),
0));
}
这是代码的更大部分。我不能添加我想要的那么多代码行,因为堆栈溢出告诉我它有很多代码。不好意思。感谢您的帮助
当然,您需要使用随机索引来访问所需的项目。
short[] itemIds = { 9023, 9041 };
int index = rnd.Next(0, itemIds.Length);
short here_is_the_value = itemIds[index];