在一维数组中(就我而言,背包插槽)我存储了我购买的所有物品。 在二维数组中,我存储项目信息(名称、ID、价格和功率)。 当我购买项目时,它会在背包数组的第一个空数组索引中插入项目名称。 当我尝试选择该项目时,它返回错误的功率。
我的例子: 我在店里有 5 件商品。如果我购买第 5 层(最后一层),它会将物品名称存储在背包数组中,因此背包 [0] 与物品 [4] 相等。现在我需要找到一个解决方案如何访问背包数组中的那个项目,这样我就可以获得项目的完整信息,比如力量。
到目前为止我有这个
Console.Clear();
Console.WriteLine("|Invetory|");
Console.WriteLine("To change item, enter slot number");
Console.WriteLine("To quit inventory, enter 9");
for(int i = 0; i<backpack.Length; i++)
{
Console.WriteLine("Slot " + i + " | " + backpack[i]);
}
Console.WriteLine("\n\n");
pressedKey = Console.ReadLine();
if(Int32.Parse(pressedKey) == i)
{
if(backpack[i] == null){
income = 1;
}else
{
strConvert = items[i,3];
income = Int32.Parse(strConvert);
}
}
}
break;
我想我可以用这个代码片段 strConvert = items[i,3]; income = Int32.Parse(strConvert);
使用此代码,如果我从项目数组中获得背包值 5,它将存储在背包中的第一个值,当我选择此背包值(装备该项目)时,它会返回我项目数组的第一个值。有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
我自己解决的。我会保留这个问题,以便其他人可以查看并学习一些东西
Console.Clear();
Console.WriteLine("|Invetory|");
Console.WriteLine("To change item, enter slot number");
Console.WriteLine("To quit inventory, enter 9");
for(int i = 0; i<backpack.Length; i++)
{
Console.WriteLine("Slot " + i + " | " + backpack[i]);
}
Console.WriteLine("\n\n");
pressedKey = Console.ReadLine();
for(int i = 0; i < backpack.Length; i++)
{
if(Int32.Parse(pressedKey) == i)
{
for(int x = 0; x < items.Length; x++)
{
if(backpack[i] == items[x, 0])
{
strConvert = items[x,3];
income = Int32.Parse(strConvert);
break;
}
}
}
}
break;