Я принимаю waaaayyy больше классов, чем я обычно делаю в этом семестре, и просто не успел поиграть с объективом c и сделать его своим, это все еще очень чужой мне, и у меня много проблем с тем, что я знаю, должно быть довольно просто.Как поменять значения (не индексы) в NSMutableArray
Но в основном то, что у меня есть, представляет собой мозаичную головоломку из 6 предметов, которая возвращается в одно и то же место, когда головоломка перезапускается. Я пытаюсь поменять происхождение каждой части с помощью другой части случайным образом каждый раз, когда головоломка перезапускается. Так что я пытаюсь рандомизации значения CGRect, присвоенные объектам NSValue в массиве, декларируется в качестве такового:
@synthesize topLeft;
@synthesize topMiddle;
@synthesize topRight;
@synthesize bottomLeft;
@synthesize bottomMiddle;
@synthesize bottomRight;
@synthesize scoreLabel;
topLeftRectOrigin=[NSValue valueWithCGRect: topLeft.frame];
topMiddleRectOrigin=[NSValue valueWithCGRect: topMiddle.frame];
topRightRectOrigin=[NSValue valueWithCGRect: topRight.frame];
bottomLeftRectOrigin=[NSValue valueWithCGRect: bottomLeft.frame];
bottomMiddleRectOrigin=[NSValue valueWithCGRect: bottomMiddle.frame];
bottomRightRectOrigin=[NSValue valueWithCGRect: bottomRight.frame];
puzzlePieces=[[NSMutableArray alloc]initWithObjects:topLeft, topMiddle, topRight, bottomLeft, bottomMiddle, bottomRight, nil];
puzzleOrigins=[[NSMutableArray alloc]initWithObjects:topLeftRectOrigin, topMiddleRectOrigin, topRightRectOrigin, bottomLeftRectOrigin, bottomMiddleRectOrigin, bottomRightRectOrigin, nil];
topLeftRectGrid=CGRectMake(145, 95, 30, 30);
topMiddleRectGrid=CGRectMake(235, 95, 30, 30);
topRightRectGrid=CGRectMake(325, 95, 30, 30);
bottomLeftRectGrid=CGRectMake(145, 185, 30, 30);
bottomMiddleRectGrid=CGRectMake(235, 185, 30, 30);
bottomRightRectGrid=CGRectMake(325, 185, 30, 30);
Я действительно возникли проблемы при получении мой мозг вокруг этого, может вы, ребята, рекомендуем, как я должен идти о делая это? Большое спасибо за помощь.
Спасибо за помощь всем, кто внес небольшой кусок, чтобы показать мне лучший способ решить эту проблему. Оказалось, что большая часть проблемы - это дрянные алгоритмы в учебном пособии, который преподавал нам профессор, что затрудняло изменить что-либо без повторной записи. Но переписывать позже все работает: -D Мне в основном просто пришлось изменить все ссылки на массив, а не объекты в массиве, что не позволило бы перетасовке массива. – jamzsabb