void Game::initData() { prePoint = CCPointMake(-1, -1); countCleared = 0; counter = 0; //cocos2d::CCArray *array = cocos2d::CCArray::create(); Vector<MapNode*>array; srand((unsigned int)time(NULL)); for (int i = 0; i < (TOTAL_X - 2) * (TOTAL_Y - 2); ++i) { MapNode *mapnode = new MapNode(); mapnode->autorelease(); mapnode->order = (int)(CCRANDOM_0_1() * INT_MAX) % (int)(CCRANDOM_0_1() * INT_MAX); mapnode->imgid = imgMap[i]; array.pushBack(mapnode); } // qsort(array.at(0), array.size(), sizeof(long), compare); for (int x = 0; x < TOTAL_X; ++x) { for (int y = 0; y < TOTAL_Y; ++y) { if (x == 0 || x == (TOTAL_X - 1) || y == 0 || (y == TOTAL_Y - 1)) { MapNode *mapnode = new MapNode(); mapnode->autorelease(); mapnode->order = 0; mapnode->imgid = 0; this->arrayMap.pushBack(mapnode); } else { int i = (y - 1) * (TOTAL_Y - 2) + x - 1; this->arrayMap.pushBack(array.at(i)); } } } }
void Game::initData() { prePoint = CCPointMake(-1, -1); countCleared = 0; counter = 0; cocos2d::CCArray *array = cocos2d::CCArray::create(); srandom((unsigned int)time(NULL)); for (int i = 0; i < (TOTAL_X - 2) * (TOTAL_Y - 2); ++i) { MapNode *mapnode = new MapNode(); mapnode->autorelease(); mapnode->order = (int)(CCRANDOM_0_1() * INT_MAX) % (int)(CCRANDOM_0_1() * INT_MAX); mapnode->imgid = imgMap[i]; array->addObject(mapnode); } qsort(array->data->arr, array->data->num, sizeof(long), compare); this->arrayMap = new cocos2d::CCArray; for (int x = 0; x < TOTAL_X; ++x) { for (int y = 0; y < TOTAL_Y; ++y) { if (x == 0 || x == (TOTAL_X - 1) || y == 0 || (y == TOTAL_Y - 1)) { MapNode *mapnode = new MapNode(); mapnode->autorelease(); mapnode->order = 0; mapnode->imgid = 0; this->arrayMap->addObject(mapnode); } else { int i = (y - 1) * (TOTAL_Y - 2) + x - 1; this->arrayMap->addObject(array->objectAtIndex(i)); } } } }