如何存储对象,每个对象包含2对X,Y值

时间:2015-01-28 00:03:32

标签: objective-c arrays dictionary collections

我有一个由50x50维数组成的游戏网格。我想在网格上绘制墙,因此每个墙段将在2组(X,Y)坐标之间。例如,墙段可以在网格方形(25,25)和(25,26)之间。所以我想将这些值存储为每对墙段的一对。

[(25,25),(25,26)]应该是一个对象,

[(26,25),(26,26)]将是另一个,依此类推。

我想存储这些,并且我希望能够在每次玩家移动到另一个网格方块时查找此集合,以查看正方形之间是否有墙。

另一个可能的问题是玩家可能会从(26,26)移动到(26,25),反之亦然,无论哪种方式都会有一个墙段...所以我可能要检查这两个值,或者为每个墙段存储2个值ovjects,如下所示:

[(26,25),(26,26)] [(26,26),(26,25)]

既代表相同的墙段,又更容易查找?

有人有想法吗?因为似乎必须有一种更简单的方式...

我正在尝试的一个例子......不确定如何存储这些段,并解析它们:

@implementation gridSeg
-(id)initWithX:(int)X withY:(int)Y{
self = [super init];
self.Xcoord = X;  
self.Ycoord = Y;  
...

@implementation wallSegPair  
-(id)initWithSeg:(gridSeg)g1 seg2:(int)g2 withVertical:(bool)vertical{  
self = [super init];    
self.gridSeg1 = g1; 
self.gridSeg2 = g2; 
self.vertical = vertical; //maybe not needed
...

1 个答案:

答案 0 :(得分:0)

也许你可以制作自己的结构(是"使用CGPoint" )和NSValue对象,如下所示:

How to wrap a Struct into NSObject