我是C#编程的新手。我创建了一个x和y位置的Cell Class和Warrior Object。战士用(int hitpoints,int defensePoint)
public class Cell
{
public int _x;
public int _y;
public Warrior _warrior;
}
我正在使用
public void setWarrior(Warrior warrior) {
this.warrior = _warrior;
}
到setWarrior
到特定单元格
现在,我希望getWarrior
我已经设置了特定的Cell。
public Warrior getWarrior(int X, int Y)
{
return _warrior;
}
Cell[,] cells = new Cell[6, 6];
Warrior magicWarrior1 = new Warrior();
cells[2,3].setWarrior(magicWarrior1);
Console.WriteLine("\t{0}", cells[2,3].warrior);
cells[2,3].getWarrior(2,3);
Console.WriteLine("\t{0}", cells[2,3].warrrior);
但这不起作用 问题:对象引用未设置为对象的实例
如何找到设置为该单元格的warrior对象?
答案 0 :(得分:0)
试试这样:
Cell[,] cells = new Cell[6, 6];
Warrior magicWarrior1 = new Warrior();
cells[2,3] = new Cell(); //<-------------
cells[2,3].setWarrior(magicWarrior1);
Console.WriteLine("\t{0}", cells[2,3].warrior);
您尚未以与Cell
对象相同的方式初始化magicWarrior1
对象。
答案 1 :(得分:0)
而不是下面的内容:
public void setWarrior(Warrior warrior) {
this.warrior = _warrior;
}
应该是:
public void setWarrior(Warrior warrior) {
this._warrior = warrior;
}
这是
的补充 cells[2,3] = new Cell(); //<-------------