bool UserDefaultManager::addFinishedCount(TablesTag ktag) {
    if (ktag == kSimple) {
        int count = getIntegerForKey(kSimpleFinishedCount);
        if (count + 1 > simpleCount) {
            return false;
        }
        setIntegerForKey(kSimpleFinishedCount, count+1);
        return true;
    }else if (ktag == kMedium) {
        int count = getIntegerForKey(kMediumFinishedCount);
        if (count + 1 > mediumCount) {
            return false;
        }
        setIntegerForKey(kMediumFinishedCount, count+1);
        return true;
    }else if (ktag == kDifficult){
        int count = getIntegerForKey(kDiffcultFinishedCount);
        if (count + 1 > difficultCount) {
            return false;
        }
        setIntegerForKey(kDiffcultFinishedCount, count+1);
        return true;
    }else {
        return false;
    }
    
}
示例#2
0
void AppConfig::initUserDefault()
{
    auto ud = UserDefault::getInstance();
    
    if (!ud->isXMLFileExist())
    {
        ud->setIntegerForKey(KEY_BADGE_CATEGORY1, BADGE_CATEGORY1_TOTAL);
        ud->setIntegerForKey(KEY_BADGE_CATEGORY2, BADGE_CATEGORY2_TOTAL);
        ud->setIntegerForKey(KEY_BADGE_CATEGORY3, BADGE_CATEGORY3_TOTAL);
        ud->setIntegerForKey(KEY_BADGE_CATEGORY4, BADGE_CATEGORY4_TOTAL);
        ud->setIntegerForKey(KEY_BADGE_CATEGORY5, BADGE_CATEGORY5_TOTAL);
        ud->setIntegerForKey(KEY_BADGE_CATEGORY6, BADGE_CATEGORY6_TOTAL);
        
        ud->flush();
    }
    else
    {
        addGotBadge(BadgeCategory::kCategory1, ud->getIntegerForKey(KEY_BADGE_CATEGORY1));
        addGotBadge(BadgeCategory::kCategory2, ud->getIntegerForKey(KEY_BADGE_CATEGORY2));
        addGotBadge(BadgeCategory::kCategory3, ud->getIntegerForKey(KEY_BADGE_CATEGORY3));
        addGotBadge(BadgeCategory::kCategory4, ud->getIntegerForKey(KEY_BADGE_CATEGORY4));
        addGotBadge(BadgeCategory::kCategory5, ud->getIntegerForKey(KEY_BADGE_CATEGORY5));
        addGotBadge(BadgeCategory::kCategory6, ud->getIntegerForKey(KEY_BADGE_CATEGORY6));
    }
}
示例#3
0
void SelectReset::resetYes(Ref* pSender)
{
    auto menuItem = (Menu*)getChildByTag(T_Menu);
    menuItem->setVisible(false);
    
    
    for(int name_id = 0;name_id < 27; name_id++)
    {
        const char * gameScoreRank = SaveSQL::sqliteGetRankForId(name_id);
        SaveSQL::sqliteUpdateCollectForScore(gameScoreRank,0);
    }
    
    auto resetScore = UserDefault::getInstance();
    resetScore->setIntegerForKey("gameScore", 0);
     resetScore->setIntegerForKey("highScore", 0);
    resetScore->flush();
    
    Label* complete = Label::createWithSystemFont("社会復帰しました!","Marker Felt", 60);
    complete->setColor(Color3B::BLUE);
    complete->setPosition(Vec2(WINSIZE.width/2,WINSIZE.height/2));
    this->addChild(complete,Z_Label);
    
    removeChildByTag(T_Yes);
    removeChildByTag(T_No);
    
    Director::getInstance()->resume();
    
    this->scheduleOnce(schedule_selector
                       (SelectReset::close), 1.0f );
    
}
示例#4
0
	void MatryoshkaScene::SaveSettings()
	{
		auto d = UserDefault::getInstance();
		d->setIntegerForKey("MatryoshkaLastScore", LastScore);
		d->setIntegerForKey("MatryoshkaHighScore", HighScore);
		d->setIntegerForKey("MatryoshkaTotalScore", TotalScore);
		GameSettings::SaveSettings();
	}
示例#5
0
void BaseMap::victory()
{
	//停止计时器
	auto instance = GameManager::getInstance();
	auto dataInstance = UserDefault::getInstance();
	unscheduleUpdate();
	unschedule(schedule_selector(BaseMap::addWaves));
	unschedule(schedule_selector(BaseMap::addMonsters));
	//若此关卡得星数为0,则表示第一次完成
	if(UserDefault::getInstance()->getIntegerForKey(String::createWithFormat(GameManager::getInstance()->LEVELX_STARNUM,getLevel())->getCString(),0)==0)
	{
		UserDefault::getInstance()->setIntegerForKey(GameManager::getInstance()->LEVELX_NEWDOWN,getLevel()+1);
	}
	//判断完成等级给星
	int gotStar = 0;
	switch (difficulty)
	{
	case(0):
		if( GameManager::getInstance()->LIFE >= 18){
			gotStar = 3;
		}else if(GameManager::getInstance()->LIFE > 10){
			gotStar = 2;
		}else{
			gotStar = 1;
		}
		break;
	case(1):
		gotStar = 4;
		break;
	case(2):
		gotStar = 5;
		break;
	}
	//若此次得到的星星大于之前记录,更新
	int oldStar = dataInstance->getIntegerForKey(String::createWithFormat(instance->LEVELX_STARNUM,getLevel())->getCString(),0);
	if(gotStar > oldStar){
		//之前星星个数
		int starCount = dataInstance->getIntegerForKey(instance->SLOTX_STAR);
		//加上得到的星星
		dataInstance->setIntegerForKey(instance->SLOTX_STAR,starCount+gotStar - oldStar);
		//更新本关星星
		dataInstance->setIntegerForKey(String::createWithFormat(instance->LEVELX_STARNUM,getLevel())->getCString(),gotStar);
		//更新剩余星星个数
		dataInstance->setIntegerForKey(instance->SLOTX_STARLEFT,dataInstance->getIntegerForKey(instance->SLOTX_STARLEFT)+gotStar - oldStar);
	}
	//更新得到的钻石钻石
	int gem = gotStar*10*(level+1)/2;
	int oldGem = dataInstance->getIntegerForKey(instance->SLOTX_GEM);
	dataInstance->setIntegerForKey(instance->SLOTX_GEM,gem+oldGem);
	//根据难度,星,钻,显示胜利画面
	auto victory = Victory::createVictory(gotStar,gem);
	mTouchLayer->removeAllChildren();
	victory->level = getLevel();
	victory->difficult = difficulty;
	playerState->addChild(victory,999);
}
示例#6
0
void AppConfig::saveUserDefault()
{
    auto ud = UserDefault::getInstance();
    
    ud->setIntegerForKey(KEY_BADGE_CATEGORY1, _curGotBadge.at(BadgeCategory::kCategory1));
    ud->setIntegerForKey(KEY_BADGE_CATEGORY2, _curGotBadge.at(BadgeCategory::kCategory2));
    ud->setIntegerForKey(KEY_BADGE_CATEGORY3, _curGotBadge.at(BadgeCategory::kCategory3));
    ud->setIntegerForKey(KEY_BADGE_CATEGORY4, _curGotBadge.at(BadgeCategory::kCategory4));
    ud->setIntegerForKey(KEY_BADGE_CATEGORY5, _curGotBadge.at(BadgeCategory::kCategory5));
    ud->setIntegerForKey(KEY_BADGE_CATEGORY6, _curGotBadge.at(BadgeCategory::kCategory6));
    
    ud->flush();
}
int UserDefaultManager::getNumofQuestion() {
    int total = getIntegerForKey(kTotalNum);
    if (total == 0) {
        total = DBManager::getInstance()->getQuestionCount();
        setIntegerForKey(kTotalNum, total);
    }
    return total;
}
void UserDefaultManager::addDiamond(int count) {
    int preCount = getIntegerForKey(DiamondCount);
    preCount += count;
    if (preCount < 0) {
        preCount = 0;
    }
    setIntegerForKey(DiamondCount, preCount);
}
示例#9
0
void ScoreLayer::ReadScoreFromFile()
{
	auto userDefault = UserDefault::sharedUserDefault();
	if (!userDefault->getBoolForKey(ScoreFileKey))
	{
		userDefault->setBoolForKey(ScoreFileKey,true);
		userDefault->setIntegerForKey(ScoreKey,0);
		userDefault->flush();
	}
	else
	{
		m_HighestScore = userDefault->getIntegerForKey(ScoreKey);
	}
}
示例#10
0
void OverScene::setLevel(int level)
{
	int Level = level;
	auto userdefault=UserDefault::getInstance();
	auto HeighLevel=userdefault->getIntegerForKey("HEIGHSCORE", 0);


	LevelLable->setString(String::createWithFormat("%d", Level)->getCString());

	if (HeighLevel != 0) bestScore->setString(String::createWithFormat("BEST: %d", HeighLevel)->getCString());

	if(Level> HeighLevel)
	{
		userdefault->setIntegerForKey("HEIGHSCORE",Level);
	}
	userdefault->flush();
}
void OverLayer::setScore(int score)
{
    _score = score;

    auto userdefault = UserDefault::getInstance();
    auto highscore = userdefault->getIntegerForKey("HIGHSCORE", 0);

    if (_score > highscore)
    {
        highscore = _score;
        userdefault->setIntegerForKey("HIGHSCORE", highscore);
    }

    userdefault->flush();

    _scoreLabel->setString(String::createWithFormat("%d", _score)->getCString());
    _highScoreLabel->setString(String::createWithFormat("HIGH SCORE: %d", highscore)->getCString());
}
void UserDefaultManager::setDefault()
{
    
    UserDefault *userdefault = UserDefault::getInstance();
    if (!userdefault->getBoolForKey("isSetUp")) {
        userdefault->setBoolForKey("isSetUp", true);
        setIntegerForKey(DiamondCount, 10);
        setIntegerForKey(QuestionCount, 0);
        setIntegerForKey(StarCount, 0);
        setIntegerForKey(RecieveDiamond, 0);
        setIntegerForKey(StarCount, 0);
        setBoolForKey(kIsRemoveAds, false);
        setIntegerForKey(kTotalNum, 0);
        setBoolForKey(kFirstTime, true);
        time_t t = time(0);
        tm * now = localtime(&t);
        __String* timeString = __String::createWithFormat("%d年%d月%d日", now->tm_year, now->tm_mon, now->tm_mday-1);
        log("%d年%d月%d日", now->tm_year, now->tm_mon, now->tm_mday);
        setStringForKey(kLoginTime, timeString->getCString());
        setIntegerForKey(kLastCount, 10);
        setStringForKey(kRecordeTime1, timeString->getCString());
        setIntegerForKey(kViewState, 0);
    }
}
示例#13
0
void GameOver::initShowScore()
{
    auto _user = UserDefault::getInstance();
    
    int sqlFlag = _user->getIntegerForKey("sqlFlag");
    
    if(sqlFlag == 0){
        SaveSQL::sqliteCreateTable();
        SaveSQL::sqliteSetValueForKey();
        _user->setIntegerForKey("sqlFlag", 1);
    }
    
    //今回のスコアを取り出す
   
    int _showScore = _user->getIntegerForKey("gameScore");
    
    //ハイスコアを取り出す
    int _showhighScore = _user->getIntegerForKey("highScore");
    
    //今回のスコアからランクを呼び出す(SQliteを使用)
    const char * gameScoreRank = SaveSQL::sqliteGetRankForScore(_showScore);
    const char * highScoreRank = SaveSQL::sqliteGetRankForScore(_showhighScore);
    
    
    //実績アップデート
    int _collect = SaveSQL::sqliteGetCollectForRank(gameScoreRank);
    CCLOG("collectNO %d",_collect);
    
    if(_collect==0)
    {
            //まだ取得したことのないランクだった場合
        SaveSQL::sqliteUpdateCollectForScore(gameScoreRank,1);
    }
    
    //スコア表示
    auto scoreLabel = Label::createWithSystemFont("","Marker Felt", 48);
    scoreLabel->setPosition(Point(WINSIZE.width * 0.5, WINSIZE.height * 0.9));
    scoreLabel->setColor(Color3B::WHITE);
    scoreLabel->enableOutline(Color4B::BLACK,5);
    this->addChild(scoreLabel,Z_Label);
    
    scoreLabel->setString(StringUtils::format("現実逃避日数 : %d 日 \n現実逃避年数 : %d 年 %d 日", _showScore, _showScore/365, _showScore%365));
    
    
    //ランク表示
    auto rankLabel = Label::createWithSystemFont("","Marker Felt", 50);
    rankLabel->setPosition(Point(WINSIZE.width * 0.5, WINSIZE.height * 0.5));
    rankLabel->setColor(Color3B::MAGENTA);
    rankLabel->enableOutline(Color4B::BLACK,5);
    
    this->addChild(rankLabel,Z_Label);
    
    rankLabel->setString(StringUtils::format("ランク : %s", gameScoreRank));
 
    
    //ハイスコアandランク表示
    auto scoreLabel2 = Label::createWithSystemFont("","Marker Felt", 30);
    scoreLabel2->setPosition(Point(WINSIZE.width * 0.7, WINSIZE.height * 0.7));
    scoreLabel2->setColor(Color3B::RED);
    
    this->addChild(scoreLabel2,Z_Label);
    
    scoreLabel2->setString(StringUtils::format("最高逃避日数 : %d 日 \n最高現実逃避年数 : %d 年 %d 日 \n ランク : %s", _showhighScore, _showhighScore/365, _showhighScore%365, highScoreRank));
}
示例#14
0
void HelloWorld::setUserScore(){
	auto   file=UserDefault::getInstance();
	file->setIntegerForKey("userScore",score);
	file->flush();
	userScore=score;
}
bool gameLevel2::onContactBegins(PhysicsContact &contact) {

	auto userDefault = CCUserDefault::getInstance()->sharedUserDefault();
	auto nodeA = contact.getShapeA()->getBody();
	auto nodeB = contact.getShapeB()->getBody();

	
	if (nodeA->getContactTestBitmask() == 5 && nodeB->getContactTestBitmask() == 9 || nodeA->getContactTestBitmask() == 9 && nodeB->getContactTestBitmask() == 5)
	{
		isEnemyReady = false;

		if (soundState)CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Sounds/explosionships.mp3");


		gameLevel2::shipExplosions(enemy->getPosition(),false);	//BOOOOOM


		nodeA->getNode()->removeFromParentAndCleanup(true);
		nodeB->getNode()->removeFromParentAndCleanup(true);

		
		scoreLbl->setString(to_string(score += enemyScore));
		scoreLbl->setPosition(Vec2(scoreIcon->getPositionX() + scoreLbl->getContentSize().width + 10, origin.y + visibleSize.height - 40));

		enemyCountLbl->setString(to_string(--enemyCount));

		if (enemyCount == 2) gameLevel2::createSecondEnemy();
		if (enemyCount == 1) gameLevel2::createThirdEnemy();
		if (enemyCount == 0)
		{
			this->stopAllActionsByTag(1);
			this->stopAllActionsByTag(2);

			isShipAlive = false;

			if (soundState)CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Sounds/shipexit.mp3");

			ship->runAction(Sequence::create(MoveTo::create(0.5, Vec2(origin.x + visibleSize.width / 2, ship->getPositionY())), MoveTo::create(0.5, Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height)),NULL));


			userDefault->setIntegerForKey("score", score);

			if (score > userDefault->getIntegerForKey("highscore",0))
				userDefault->setIntegerForKey("highscore", score);

			userDefault->setIntegerForKey("level", 2);

			userDefault->flush();
			Director::getInstance()->replaceScene(TransitionFade::create(2.2, gameWinScene::createScene(), Color3B(0, 0, 0)));
		}

	}

	if (nodeA->getContactTestBitmask() == 8 && nodeB->getContactTestBitmask() == 1 || nodeA->getContactTestBitmask() == 1 && nodeB->getContactTestBitmask() == 8)
	{
		if (soundState)CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Sounds/wav/explosion.wav");

		if (--shipHealt == 0)
		{
			isShipAlive = false;
			this->stopAllActionsByTag(1);
			this->stopAllActionsByTag(2);

			gameLevel2::shipExplosions(ship->getPosition(),false);	//BOOOOOM

			nodeA->getNode()->removeFromParentAndCleanup(true);
			nodeB->getNode()->removeFromParentAndCleanup(true);

			if (soundState)CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("Sounds/explosionships.mp3");

			userDefault->setIntegerForKey("score", score);

			if (score > userDefault->getIntegerForKey("highscore",0))
				userDefault->setIntegerForKey("highscore", score);

			userDefault->flush();
			
			Director::getInstance()->replaceScene(TransitionFade::create(1, gameOverScene::createScene(), Color3B(0, 0, 0)));
		}
		else
		{

			if (nodeA->getCollisionBitmask() == 4)
			{
				gameLevel2::shipExplosions(nodeA->getNode()->getPosition(), true);	//LITTLE BOOOM
				nodeA->getNode()->removeFromParentAndCleanup(true);
			}
			else
			{
				gameLevel2::shipExplosions(nodeB->getNode()->getPosition(), true);	//LITTLE BOOOM
				nodeB->getNode()->removeFromParentAndCleanup(true);
			}
				

			

			healtLbl->setString(to_string(shipHealt));
		}
	}
	
	return true;
}
示例#16
0
bool MainMenu::init() {
    if(!LayerColor::initWithColor(MENU_BACKGROUND_COLOR)) {
        return false;
    }
    
    auto titleFinalPosition = Point(VisibleRect::top().x, 1920 - 202);
    auto titleSprite = sprite("Title", Point(titleFinalPosition.x, titleFinalPosition.y + 300));
    
    addChild(titleSprite);
    
    titleSprite->runAction(EaseSineOut::create(MoveTo::create(DEFAULT_ANIMATION_TIME, titleFinalPosition)));
    
    auto menuBackground = sprite("MenuBackground", Point(VisibleRect::center().x, 1920 - 966));
    menuBackground->setScale(1.0f, 0.1);
    menuBackground->runAction(ScaleTo::create(DEFAULT_ANIMATION_TIME, 1.0f));
    addChild(menuBackground);

    auto arcadeButtonFinalPosition = Point(335, 1288);
    
    auto arcadeButton = MenuItemSprite::create(sprite("ArcadeButtonNormal"), sprite("ArcadeButtonPressed"), [=] (Ref* sender) {
        auto userDefault = UserDefault::getInstance();
        userDefault->setIntegerForKey("mode", GameMode::ARCADE);
        onPlayPress(sender);
    });
    arcadeButton->setPosition(arcadeButtonFinalPosition.x, arcadeButtonFinalPosition.y + 2000);
    arcadeButton->runAction(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME), EaseBounceOut::create(MoveTo::create(DEFAULT_ANIMATION_TIME, arcadeButtonFinalPosition)), CallFunc::create([=](){
        arcadeButton->runAction(RepeatForever::create(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 4), RotateTo::create(DEFAULT_ANIMATION_TIME / 2, TILE_ROTATION_DEGREE), RotateTo::create(DEFAULT_ANIMATION_TIME, -TILE_ROTATION_DEGREE),RotateTo::create(DEFAULT_ANIMATION_TIME / 2, 0.0f),NULL)));
    }), NULL) );
    
    auto timeAttackButtonFinalPosition = Point(788, 1920 - 932);
    auto timeAttackButton = MenuItemSprite::create(sprite("TimeAttackButtonNormal"), sprite("TimeAttackButtonPressed"), [=] (Ref* sender) {
        auto userDefault = UserDefault::getInstance();
        userDefault->setIntegerForKey("mode", GameMode::TIME_ATTACK);
        onPlayPress(sender);
    });
    timeAttackButton->setPosition(timeAttackButtonFinalPosition.x, timeAttackButtonFinalPosition.y + 2000);
    
    timeAttackButton->runAction(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 2), EaseBounceOut::create(MoveTo::create(DEFAULT_ANIMATION_TIME, timeAttackButtonFinalPosition)), CallFunc::create([=](){
        timeAttackButton->runAction(RepeatForever::create(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 4), RotateTo::create(DEFAULT_ANIMATION_TIME / 2, TILE_ROTATION_DEGREE), RotateTo::create(DEFAULT_ANIMATION_TIME, -TILE_ROTATION_DEGREE),RotateTo::create(DEFAULT_ANIMATION_TIME / 2, 0.0f),NULL)));
    }), NULL) );

    auto zenButtonFinalPosition = Point(335, 1920 - 1251);
    auto zenButton = MenuItemSprite::create(sprite("ZenButtonNormal"), sprite("ZenButtonPressed"), [=] (Ref* sender) {
        auto userDefault = UserDefault::getInstance();
        userDefault->setIntegerForKey("mode", GameMode::ZEN);
        onPlayPress(sender);
    });
    zenButton->setPosition(zenButtonFinalPosition.x, zenButtonFinalPosition.y + 2000);
    zenButton->runAction(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 3), EaseBounceOut::create(MoveTo::create(DEFAULT_ANIMATION_TIME, zenButtonFinalPosition)), CallFunc::create([=](){
        zenButton->runAction(RepeatForever::create(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 4), RotateTo::create(DEFAULT_ANIMATION_TIME / 2, TILE_ROTATION_DEGREE), RotateTo::create(DEFAULT_ANIMATION_TIME, -TILE_ROTATION_DEGREE),RotateTo::create(DEFAULT_ANIMATION_TIME / 2, 0.0f),NULL)));
    }), NULL) );
    
    auto arcadeLabel = label("ARCADE")->size(MENU_FONT_SIZE)->position(Point(timeAttackButtonFinalPosition.x, arcadeButtonFinalPosition.y))->color(ARCADE_TEXT_COLOR)->addTo(this);
    arcadeLabel->setVisible(false);
    arcadeLabel->runAction(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 3),  Show::create(), NULL));
    
    auto timeAttackLabel = label("  TIME\nATTACK")->size(MENU_FONT_SIZE)->position(Point(arcadeButtonFinalPosition.x, timeAttackButtonFinalPosition.y))->color(TIME_ATTACK_TEXT_COLOR)->addTo(this);
    timeAttackLabel->setVisible(false);
    timeAttackLabel->runAction(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 4),  Show::create(), NULL));
    
    auto zenLabel = label("ZEN")->size(MENU_FONT_SIZE)->position(Point(timeAttackButtonFinalPosition.x, zenButtonFinalPosition.y))->color(ZEN_TEXT_COLOR)->addTo(this);
    zenLabel->setVisible(false);
    zenLabel->runAction(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 5),  Show::create(), NULL));
    
    auto soundManager = SoundManager::sharedSoundManager();
    
    auto soundButtonOn = MenuItemSprite::create(sprite("SoundButtonOn"), nullptr);
    auto soundButton = MenuItemToggle::createWithCallback([=](Ref* sender) {
        auto button = (MenuItemToggle*) sender;
        if(button->getSelectedItem() == soundButtonOn) {
            soundManager->unmuteSound();
        } else {
            soundManager->muteSound();
        }
        playSoundEffect("Click");
    }, soundButtonOn, MenuItemSprite::create(sprite("SoundButtonOff"), nullptr), NULL);
    
    if(soundManager->isSoundEnabled()) {
        soundButton->setSelectedIndex(0);
    } else {
        soundButton->setSelectedIndex(1);
    }
    
    soundButton->setPosition(Point(291, 1920 - 1710));
    
#if (CC_TARGET_PLATFORM != CC_PLATFORM_IOS)
    auto leaderBoardButton = MenuItemSprite::create(sprite("LeaderboardButtonNormal"), sprite("LeaderboardButtonPressed"), [=] (Ref* sender) {
        playSoundEffect("Click");
        NativeUtils::showLeaderboards();
    });
    leaderBoardButton->setPosition(Point(796, 1920 - 1710));
    
    auto menu = Menu::create(arcadeButton, timeAttackButton, zenButton, soundButton, leaderBoardButton, NULL);
    menu->setPosition(Point::ZERO);
    addChild(menu);
#else
    
    auto menu = Menu::create(arcadeButton, timeAttackButton, zenButton, soundButton, NULL);
    menu->setPosition(Point::ZERO);
    addChild(menu);
    
#endif
    
    
    runAction(RepeatForever::create(Sequence::create(DelayTime::create(DEFAULT_ANIMATION_TIME * 12), CallFunc::create([=] () {
        playSoundEffect("Giggle");
    }) , NULL)));
    
    return true;
}
void UserDefaultManager::setViewState(int state) {
    //0.表示可以观看视频
    //1.表示可以领取钻石
    //2.表示没有钻石可以领取
    setIntegerForKey(kViewState, state);
}
void UserDefaultManager::setLastCount(int pCount) {
    setIntegerForKey(kLastCount, pCount);
}
void UserDefaultManager::setRecieveCount(int count) {
    setIntegerForKey(RecieveDiamond, count);
}
void UserDefaultManager::setStarsCount(int count) {
    int stars = getIntegerForKey(StarCount);
    setIntegerForKey(StarCount, stars+count);
}
void UserDefaultManager::addQuestionCount(int count){
    int questionIndex = getIntegerForKey(QuestionCount);
    setIntegerForKey(QuestionCount, questionIndex+count);
}