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非常不好。 最佳答案
显然,您需要找出什么是引用类型以及什么是对象引用。这对于使用C#是必不可少的。由于这两个类都是引用类型,因此用该类型声明的所有变量都是对对象的引用。
您可以简单地将Game
传递给Player.Update
,以传递对现有游戏的引用。
关于c# - 两课互动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27068680/