Cocos2d-x 3.2 大富翁游戏项目开发-第二十七部分 技能提升和游戏结束判断

Cocos2d-x 3.2 大富翁游戏项目开发-第二十七部分 技能提升和游戏结束判断,第1张

概述本节主要是增加技能提升事件 和 游戏结束判断,游戏判断简单处理了一下,只要有一个角色资金小于0 ,就认为游戏结束。 如果人物在3个以上,则需要做进一步处理,比如失败方的房屋如何处理,这些在处理到多个角色的时候再做处理。 1、添加提升技能随机事件 oid GameBaseScene::initRandomAskEvent(){ ................. randomAskEventM 本节主要是增加技能提升事件 和 游戏结束判断,游戏判断简单处理了一下,只要有一个角色资金小于0 ,就认为游戏结束。

如果人物在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 大富翁游戏项目开发-第二十七部分 技能提升和游戏结束判断所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1043597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存