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; } }
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)); } }
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 ); }
void MatryoshkaScene::SaveSettings() { auto d = UserDefault::getInstance(); d->setIntegerForKey("MatryoshkaLastScore", LastScore); d->setIntegerForKey("MatryoshkaHighScore", HighScore); d->setIntegerForKey("MatryoshkaTotalScore", TotalScore); GameSettings::SaveSettings(); }
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); }
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); }
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); } }
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); } }
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)); }
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; }
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); }