Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 编程难题分离对象还是其他解决方案?_C# - Fatal编程技术网

C# 编程难题分离对象还是其他解决方案?

C# 编程难题分离对象还是其他解决方案?,c#,C#,我正在为某个游戏开发一个服务器模拟器(它不是非法的或任何东西)。游戏有地图,玩家可以在地图中进入并看到同一地图中的其他玩家,并与他们聊天(在不同的地图中也有NPC和怪物) 我用的是C。我在模拟器中创建了Map类,并添加了基本属性(Map ID等)。我还添加了角色、NPC和怪物的列表。每一张地图都有不同的特点 现在我面临的困境是: 每个频道都有自己的地图(频道是不同的“流”,玩家可以连接到不同的端口)。每个频道都有相同的地图,但你只能在同一频道上看到玩家。假设游戏中有N个贴图,我创建了N*2个贴图

我正在为某个游戏开发一个服务器模拟器(它不是非法的或任何东西)。游戏有地图,玩家可以在地图中进入并看到同一地图中的其他玩家,并与他们聊天(在不同的地图中也有NPC和怪物)

我用的是C。我在模拟器中创建了Map类,并添加了基本属性(Map ID等)。我还添加了角色、NPC和怪物的列表。每一张地图都有不同的特点

现在我面临的困境是:

每个频道都有自己的地图(频道是不同的“流”,玩家可以连接到不同的端口)。每个频道都有相同的地图,但你只能在同一频道上看到玩家。假设游戏中有N个贴图,我创建了N*2个贴图(有两个通道)对象

我应该为每个通道制作不同的贴图对象吗?如果我有20个呢?为它创建对象似乎完全是浪费。我的意思是,一定有另一个解决办法

另外,我的另一个问题是地图使用的信息(属性)对于每个频道都是相同的,这意味着它存储在每个频道的地图中,但对于所有频道都是相同的


有没有人能提出一个想法来限制不同地图对象的使用,并为我提供另一种不同地图的解决方案?谢谢。

创建20个对象没有错。典型的.NET应用程序使用成千上万的对象。此外,这些属性是指针。因此,地图的每个“副本”都将指向NPC、怪物和玩家的完全相同的列表对象。@KeithPayne是的,我所说的副本是指不同的对象,而不是指针。我只是害怕,我不想用太多的内存。没有其他解决方案吗?内存使用量有多大?我要求不要轻率,但要指出,这似乎是(万恶之源)的一个案例。