cocos2dx《单机斗地主》源码解剖之三 发牌
来源:互联网 发布:linux alias 取消 编辑:程序博客网 时间:2024/04/30 23:51
牌洗完之后,下面就该一个一个向玩家发牌了,请看下面代码:
void GameScene::SendPk(){Poker* pk;if(m_iSendPk<51 && m_isSend)//前51张牌发给玩家{pk = (Poker*)m_arrPokers->objectAtIndex(m_iSendPk);if(m_iSendPk%3 == 0)//给玩家发牌MovePk(m_player,pk);else if(m_iSendPk%3 == 1)//给电脑1发牌MovePk(m_npcOne,pk);else if(m_iSendPk%3 == 2)//给电脑2发牌MovePk(m_npcTwo,pk);++m_iSendPk;m_isSend = false;}else if (m_iSendPk>50 && m_iSendPk<54 && m_isSend)//留下三张地主牌{pk = (Poker*)m_arrPokers->objectAtIndex(m_iSendPk);pk->showFront();MovePk(m_Three,pk);++m_iSendPk;m_isSend = false;}else if(m_iSendPk>53)//牌发完分析电脑玩家的牌型{FenChaiNpcPai(m_npcOne);FenChaiNpcPai(m_npcTwo);m_iSendPk = 0;m_iState = 1;}}大家一定注意到上面的m_isSend的变量了,这个变量就是指发给某一个玩家的牌动画是否完成。我们再来看一下MovePk()的代码就有些明白了:
void GameScene::MovePk(Player* play,Poker* pk){CCMoveTo* move;CCCallFuncND* func;float time = 0.05;play->getArrPk()->addObject(pk);//从一副牌中选择pk这张牌move = CCMoveTo::create(time,play->getPoint());func = CCCallFuncND::create(this,callfuncND_selector(GameScene::func),play);CCSequence* sequence = CCSequence::create(move,func,NULL);pk->runAction(sequence);}void GameScene::func(CCNode* pSender, void* pData){Player* play = (Player*)pData;play->updatePkWeiZhi();//整理一个玩家手中的牌m_isSend = true;}
大家一定也注意到了play->updatePkWeiZhi()这个函数了,它的意义正如注释据所说的。这个我们在下一篇文章来解释。
源码下载:http://pan.baidu.com/s/1ntzayjJ
0 0
- cocos2dx《单机斗地主》源码解剖之三 发牌
- cocos2dx《单机斗地主》源码解剖之五 叫地主
- cocos2dx《单机斗地主》源码解剖之四 玩家类的解剖
- cocos2dx《单机斗地主》源码解剖之二 把一副扑克牌打乱(洗牌)
- cocos2dx《单机斗地主》源码解剖之六 玩家(人)的出牌(1)
- cocos2dx《单机斗地主》源码解剖之六 玩家(人)的出牌(2)
- cocos2dx《单机斗地主》源码解剖之七 对电脑玩家手中的牌进行分拆
- cocos2dx《单机斗地主》源码解剖之八 电脑玩家出牌与跟牌(结束)
- cocos2dx《单机斗地主》源码解剖之一 创建一副扑克牌(54张)
- 斗地主算法之发牌,洗牌
- 斗地主系列之洗牌和发牌
- 斗地主算法之发牌,洗牌
- 斗地主发牌算法
- 斗地主:洗牌发牌
- 斗地主发牌
- 单机斗地主源码修改笔记
- 斗地主 发牌核心 代码
- 实现斗地主发牌(java)
- UVA - 202 Repeating Decimals
- 废旧镁铬砖危害
- android listview中按钮点击怎样获取到那条选中listItem的position
- 写给同事的前端学习路线<转>
- hdu 1016 Prime Ring Problem DFS解法 纪念我在杭电的第一百题
- cocos2dx《单机斗地主》源码解剖之三 发牌
- yyuc视图未更新,控制器修改可以看到,视图无法更新,提示Allowed memory size of exhausted
- Redis和Memcache的区别
- hibernate的createSQLQuery调用存储过程
- UVA 1331 Minimax Triangulation 区间DP
- 分布式模型
- 前端知识体系及修炼攻略
- IOS系列——appUI效果或者第三方
- 一、窗口的创建