如果人物在3个以上,则需要做进一步处理,比如失败方的房屋如何处理,这些在处理到多个角色的时候再做处理。
1、添加提升技能随机事件
oID GameBaseScene::initRandomAskEvent(){ ................. randomAskEventMap.insert(STORM_UP_TAG,LanguageString::getInstance()->getLanguageString(STORM_SKILL_UP)); randomAskEventMap.insert(STEP_UP_TAG,LanguageString::getInstance()->getLanguageString(STEP_SKILL_UP)); randomAskEventMap.insert(TRANSFER_UP_TAG,LanguageString::getInstance()->getLanguageString(TRANSFER_SKILL_UP));}voID GameBaseScene::doRandomAskEvent(RicherPlayer* player){ int randomNumber = rand()%(randomAskEventMap.size()) + 1; __String * str = randomAskEventMap.at(randomNumber); switch(randomNumber) { ................ //技能得到提升 case STORM_UP_TAG: { player->skill_vector.at(0) ++; break; } case STEP_UP_TAG: { player->skill_vector.at(1) ++; break; } case TRANSFER_UP_TAG: { player->skill_vector.at(2) ++; break; } } CocosToast::createtoast(this,str->getCString(),TOAST_SHOW_TIME,player->getposition());}
2、添加游戏结束画面
在角色开始行走之前增加游戏结束判断voID RicherGameController::pickOnePlayerToGo(){ for(auto it=GameBaseScene::players_vector.begin();it!=GameBaseScene::players_vector.end();it++) { RicherPlayer* richerPlayer = dynamic_cast<RicherPlayer*>(*it); //判断角色资金是否小于0,当小于0时发送游戏结束消息。(如果人物在3个以上,需要做多个角色判断处理) if(richerPlayer->getMoney() <= 0) { String * str = String::createWithFormat("%d-%f-%f-%d",MSG_GAME_OVER_TAG,0.0f,richerPlayer->getTag()); NotificationCenter::getInstance()->postNotification(MSG_GAME_OVER,str); return;//游戏返回,不再向下执行 } }...............}//处理游戏结束消息voID GameBaseScene::receivednotificationOMsg(Object* data){.......... case MSG_GAME_OVER_TAG: { int playerTag = messageVector.at(3)->intValue(); //当是第一人物时,游戏显示失败画面。否则显示胜利 switch(playerTag) { case PLAYER_1_TAG: { Sprite* gameOver = Sprite::create("images/lose.png"); gameOver->setposition(winSize/2); addChild(gameOver); break; } case PLAYER_2_TAG: { playParticle(winSize/2,"images/win_particle.pList"); Sprite* gameOver = Sprite::create("images/win.png"); gameOver->setposition(winSize/2); addChild(gameOver); break; } } break; }}
本节代码同下一部分《游戏保存》一并发布
未完待续........
总结以上是内存溢出为你收集整理的Cocos2d-x 3.2 大富翁游戏项目开发-第二十七部分 技能提升和游戏结束判断全部内容,希望文章能够帮你解决Cocos2d-x 3.2 大富翁游戏项目开发-第二十七部分 技能提升和游戏结束判断所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)