void PairsView::_GenerateCardPos() { _ReadRandomIcons(); srand((unsigned)time(0)); int* positions = new int[fNumOfCards]; for (int i = 0; i < fNumOfCards; i++) positions[i] = i; for (int i = fNumOfCards; i >= 1; i--) { int index = rand() % i; fRandPos[fNumOfCards - i] = positions[index]; for (int j = index; j < i - 1; j++) positions[j] = positions[j + 1]; } for (int i = 0; i < fNumOfCards; i++) { fPosX[i] = (fRandPos[i]) % fWidth * (kBitmapSize + kSpaceSize) + kSpaceSize; fPosY[i] = (fRandPos[i]) / fHeight * (kBitmapSize + kSpaceSize) + kSpaceSize; } delete [] positions; }
void PairsView::_GenerateCardPositions() { // seed the random number generator based on the current timestamp srand((unsigned)time(0)); _ReadRandomIcons(); int32* positions = new int32[fButtonsCount]; for (int32 i = 0; i < fButtonsCount; i++) positions[i] = i; for (int32 i = fButtonsCount; i > 0; i--) { int32 index = rand() % i; fRandomPosition[fButtonsCount - i] = positions[index]; for (int32 j = index; j < i - 1; j++) positions[j] = positions[j + 1]; } delete[] positions; _SetPositions(); }