cocos2dx《单机斗地主》源码解剖
文章平均质量分 73
oiy37215
这个作者很懒,什么都没留下…
展开
-
cocos2dx《单机斗地主》源码解剖之六 玩家(人)的出牌(2)
下面分析//牌的张数大于等于5张的类型判断,原代码如下:int GameScene::PaiDuanPaiXing(){ //对出的牌进行排序 PlayerOutPaiXu(m_arrPlayerOut); //牌型判断 int lengh = m_arrPlayerOut->count(); PaiXing px; //原创 2015-02-15 16:44:08 · 2304 阅读 · 0 评论 -
cocos2dx《单机斗地主》源码解剖之六 玩家(人)的出牌(1)
当玩家选择好要出的牌,首先判断该牌型是否合法,如果合法就高亮显示出“出牌”按钮,否则显示灰色“出牌”按钮,表示不可出。那么怎么判断玩家所选择的牌型是合法呢?请看下面代码:int GameScene::PaiDuanPaiXing(){ //对出的牌进行排序 PlayerOutPaiXu(m_arrPlayerOut); //牌型判断 int lengh = m_arrPlayerOut原创 2015-02-13 17:00:28 · 4763 阅读 · 3 评论 -
cocos2dx《单机斗地主》源码解剖之七 对电脑玩家手中的牌进行分拆
在电脑玩家跟牌和出牌之前首先对电脑玩家的牌进行拆分:根据文档需求(见本博客“斗地主规则“)拆分牌按以下顺序,先分析炸弹---飞机---连对---连牌--三带,对子,单张。请看如下代码:void GameScene::FenChaiNpcPai(Player* npc){ /*******************************************************原创 2015-02-16 16:44:02 · 4262 阅读 · 0 评论 -
cocos2dx《单机斗地主》源码解剖之一 创建一副扑克牌(54张)
本项目基于cocos2dx引擎开发,根据网上搜索的斗地主文案(参见博客:斗地主规则)由本人独立完成,废话少说(本人不善言辞,我也说不出来什么废话)下面我来做个项目总结。1.创建一副扑克牌,写代码首先创建一张牌的类。如下所示:class Poker : public Sprite{public: Poker(); ~Poker(); static Poker* create原创 2015-02-12 16:59:25 · 6296 阅读 · 4 评论 -
cocos2dx《单机斗地主》源码解剖之二 把一副扑克牌打乱(洗牌)
上面我们创建了一副牌,它们原先是有顺序的,我们把它们打乱,俗称“洗牌”。请看代码:bool GameScene::xiPai(){ bool isRet = false; do { for(int i=0; i<54; ++i) { Poker* pk1 = (Poker*)m_arrPokers->randomObject(); Poker* pk2 = (P原创 2015-02-12 17:53:43 · 2992 阅读 · 0 评论 -
cocos2dx《单机斗地主》源码解剖之四 玩家类的解剖
废话不说,直接上代码:头文件class Player : public CCObject{public: Player(); ~Player(); void updatePkWeiZhi();//设置牌的位置 private: CC_SYNTHESIZE(bool,m_isDiZhu,IsDiZhu);//是否为地主 CC_SYNTHESIZE(bool,m_isCall原创 2015-02-12 18:54:31 · 2882 阅读 · 0 评论 -
cocos2dx《单机斗地主》源码解剖之三 发牌
牌洗完之后,下面就该一个一个向玩家发牌了,请看下面代码:void GameScene::SendPk(){ Poker* pk; if(m_iSendPk<51 && m_isSend)//前51张牌发给玩家 { pk = (Poker*)m_arrPokers->objectAtIndex(m_iSendPk); if(m_iSendPk%3 == 0)//给玩家发牌 M原创 2015-02-12 18:16:45 · 3460 阅读 · 0 评论 -
cocos2dx《单机斗地主》源码解剖之五 叫地主
发完牌,下面就该叫地主了,首先从玩家(人)开始叫地主,下一回合所有玩家(包括电脑玩家)按逆时针顺序叫地主。我们来看一下叫地主的模块:void GameScene::Call(float dt){ //是否都叫过地主 if(!m_player->getCall() || !m_npcOne->getCall() || !m_npcTwo->getCall()) { m_iCallTim原创 2015-02-13 16:11:42 · 2379 阅读 · 0 评论 -
cocos2dx《单机斗地主》源码解剖之八 电脑玩家出牌与跟牌(结束)
上一篇文章对玩家手中的牌进行分析归类,下面就该实现电脑玩家出牌与跟牌的策略了。首先我们来看看出牌的策略,代码如下:void GameScene::update(float delta){ switch (m_iState) { case 0: SendPk(); break; case 1:原创 2015-03-03 11:57:45 · 1999 阅读 · 0 评论