class Game
{
byte[,] map = new byte[5, 5];
Player p;
public Game()
{
p = new Player();
}
public void Update()
{
p.Update();
}
}
class Player
{
public Player()
{
//init...
}
public void Update()
{
//this code needs map
}
}
如何在Game
中与map
Player.Update()
联系?最重要的解决方案是向map
添加Player.Update()
参数。但这种方式对我来说似乎不对。我最近阅读了C ++书籍并了解了指针。我在考虑在map
类中添加指向Player
的指针,并在Player.Update()
中使用它。我知道C#也有指针,但从未使用它们。在这种情况下使用它们是好事吗?或者也许有更好的解决方案,这种情况不涉及指针?我知道我在OOP非常糟糕。
答案 0 :(得分:3)
显然,您需要找出引用类型是什么以及对象引用是什么。这对于使用C#至关重要。由于两个类都是引用类型,因此使用该类型声明的所有变量都是对象的引用。
您只需将Game
传递给Player.Update
即可传递对现有游戏的引用。