淮安掼蛋源码之--选牌与出牌
原文:淮安摜蛋源碼之--選牌與出牌
“摜蛋”一直是人們茶余飯后經(jīng)久不衰的娛樂項目之一,淮安摜蛋 偶爾帶點“彩頭”(數(shù)額不大的錢財輸贏)以增加刺激也是正常的事。本文介紹:淮安摜蛋源碼之--選牌與出牌。
<1>選牌.
選牌結(jié)束,檢查要出的牌,添加到出牌數(shù)組中.
void SeatUnit::checkSelCardEnd()
{
? ? CardGroup::MODE mode = _pCards->getMode();
? ? _ayToCards->removeAllObjects();
? ? CCArray *array;CCObject *pObj;
? ? if(mode==CardGroup::MODE_SINGLE){
? ?? ???array = _pCards->getArray();
? ?? ???CCARRAY_FOREACH(array, pObj){
? ?? ?? ?? ?CardUnit *one = (CardUnit*)pObj;
? ?? ?? ?? ?one->setSelColor(false);
? ?? ?? ?? ?one->setSelAction();
? ?? ?? ?? ?if(!one->getIsActivate())continue;
? ?? ?? ?? ?_ayToCards->addObject(one);
? ?? ???}
? ? }else{
? ?? ???array = _pCards->getArray();
? ?? ???CCARRAY_FOREACH(array, pObj){
? ?? ?? ?? ?CardUnit *one = (CardUnit*)pObj;
? ?? ?? ?? ?if(!one->getIsSel())continue;
? ?? ?? ?? ?_ayToCards->addObject(one);? ? //被選中的牌加入到要出的牌的牌組中
? ?? ???}
? ?? ???//展開
? ?? ???if(_ayToCards->count()>0){
? ?? ?? ?? ?_pCards->expandCardSel();
? ?? ?? ?? ?_isExpand = true;
? ?? ???}
? ?? ???
? ? }
? ? codeSelCard();
}
<2>出牌.
選完牌后,點擊clickGo進行出牌,出牌分為2步,1是發(fā)送出牌信息4006給服務器,2是收到服務器回調(diào)信息4001后,在其回調(diào)函數(shù)cfDesk中,調(diào)用runShowCards,在runShowCards中調(diào)用my_play_a_card進行出牌.也就是將手牌移除掉自己選中的牌.
void SeatUnit::my_play_a_card() //出牌的具體實現(xiàn)(調(diào)用時機是收到clickGo回調(diào)信息后,出牌)
{
? ? if(_ayToCards->count()==0)return;
? ? CCPoint showPoint = _pCardShow->getPosition();
? ? CCObject *pObj;
? ? CCARRAY_FOREACH(_ayToCards, pObj){
? ?? ???CardUnit *one = (CardUnit*)pObj;
? ?? ???CCPoint point = one->getLocForSrc()-showPoint;
? ?? ???_pCards->removeCard(one);
? ?? ???one->getSprite()->setPosition(point);
? ?? ???_pCardShow->addCard(one);
? ? }
? ? _pCardShow->tidyCard(1);
? ? _ayToCards->removeAllObjects();
? ? _pCards->reviseCardLoc();
? ? itCardGroup();
}
總結(jié):出牌就是將自己手中要出的牌從手牌數(shù)組中刪除,同時挪動到出牌數(shù)組中.但是并沒有進行removeChild和addChild這些操作,所以要想好,出牌的過程是怎樣的,變化的是數(shù)據(jù)的交換,要把握本質(zhì).
總結(jié)
以上是生活随笔為你收集整理的淮安掼蛋源码之--选牌与出牌的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【IT旁观者】喜羊羊与唐三藏
- 下一篇: 如果可以,我们一起留在竹山。