【发布时间】:2019-11-03 18:51:02
【问题描述】:
我正在创建一个控制台僵尸生存游戏,假设是随机的并且相当复杂,例如寻找多种武器和弹药类型。但是,我相信我可以将一个对象保存在数组中以便以后再次使用它,以获得正确的信息,但是这种方式不起作用。
我尝试过将对象存储在数组中,但没有成功。我试图将数组从基于项目更改为基于对象,但没有成功。
class Firearm : Weapon
{
public Firemode firemode;
public int maxCapacity;
public int curCapacity;
public Type type;
public Caliber caliber;
public Firearm (string _name, float _damage, int _range, Firemode
_firemode, int _maxCapacity, int _curCapacity, Type _type, Caliber
_caliber)
{
name = _name;
damage = _damage;
range = _range;
firemode = _firemode;
maxCapacity = _maxCapacity;
curCapacity = _curCapacity;
type = _type;
caliber = _caliber;
}
public void FirearmStats()
{
Console.WriteLine("\n Name: {0}\n Damage: {1}\n Range: {2}\n
Firemode: {3}\n Max Capacity: {4}\n Current Capacity: {5}", name, damage,
range, firemode, maxCapacity, curCapacity);
}
}
static void Main(string[] args)
{
Random numberGenerator = new Random();
//Pistols
Firearm m9 = new Firearm("Beretta M9A1", 34.0F, 30,
Firemode.SemiAutomatic, 15, numberGenerator.Next(1, 16), Type.Pistol,
Caliber.nine);
....
Item[] inventory = new Item[14];
Item[] equipped = new Item[0];
.....
equipped[0] = m9;
Console.WriteLine("\nYou find a {0}", equipped[0].name);
//issue here with equipped[0]^^^
equipped[0].FirearmStats();
//and here ^^^^^
player.Command();
}
严重性代码描述项目文件行抑制状态 错误 CS1061“Program.Item”不包含“FirearmStats”的定义,并且找不到接受“Program.Item”类型的第一个参数的可访问扩展方法“FirearmStats”(您是否缺少 using 指令或程序集引用? ) ZombieConsoleGame E:\Visual Studio Projects\ZombieConsoleGame\ZombieConsoleGame\Program.cs 158 N/A
【问题讨论】:
标签: c# arrays object instance-variables