arc4random - 8 кнопок перекрываются - PullRequest
0 голосов
/ 25 февраля 2012

Я создаю приложение, в котором у меня есть 8 кнопок пользовательского интерфейса, заданных со всеми случайными координатами с использованием arc4random. Я пытался выяснить, как остановить их наложение.

Буду признателен за любые идеи или помощь, поскольку это единственное, что сдерживает мое приложение!

Спасибо

1 Ответ

0 голосов
/ 25 февраля 2012

Вам нужен массив возможных местоположений, которые не перекрываются:

CGPoint possibleLocations[] = {
    { 0, 0 },
    { 25, 25 },
    { 25, 50 },
    // etc.
}

int numLocations = sizeof(possibleLocations) / sizeof(CGPoint);
BOOL takenLocations[numLocations];

CGPoint finalLocation;
int index;

while ((takenLocations[index = arc4random_uniform(numLocations]))
{
}

takenLocations[index] = YES;
finalLocation = possibleLocations[index];
...