请选择 进入手机版|继续访问电脑版
返回列表 发新帖

房卡福州泉州麻将

[复制链接]

301

主题

307

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
88270
发表于 2020-5-2 11:45:26  | 显示全部楼层 | 阅读模式
房卡福州泉州麻将源码
需要的二次开发的拿去
子游戏开发废了我不少时间    匿你们去开发可以省去不少时间


m_wBankerUser = (rand()%6+1)%GAME_PLAYER;

        for(BYTE i=0;i<4;i++)m_bHuUser=false;        
        ZeroMemory(&m_ChiHuResult,sizeof(m_ChiHuResult));
        ZeroMemory(m_cbRepertoryCard,sizeof(m_cbRepertoryCard));
   
        //混乱麻将        
        m_cbLeftCardCount=CountArray(m_cbRepertoryCard);
        m_GameLogic.RandCardData(m_cbRepertoryCard,CountArray(m_cbRepertoryCard));

        //分发麻将
        for (WORD i=0;i<m_wPlayerCount;i++)
        {
            m_cbLeftCardCount-=(MAX_COUNT-1);
        
            m_GameLogic.SwitchToCardIndex(&m_cbRepertoryCard[m_cbLeftCardCount],MAX_COUNT-1,m_cbCardIndex);

        }


        //设置变量
        m_cbProvideCard=0;
        m_wProvideUser=INVALID_CHAIR;
        m_wCurrentUser=m_wBankerUser;
        
        
        
        //发送消息
        CMD_S_GameStart GameStart;
        
        GameStart.wBankerUser=m_wBankerUser;
        GameStart.wCurrentUser=m_wCurrentUser;            

        //发送数据
        for (WORD i=0;i<m_wPlayerCount;i++)
        {
            //设置变量            
            m_GameLogic.SwitchToCardData(m_cbCardIndex,GameStart.cbCardData);

        
            //发送数据
            m_pITableFrame->SendTableData(i,SUB_S_GAME_START,&GameStart,sizeof(GameStart));
            m_pITableFrame->SendLookonData(i,SUB_S_GAME_START,&GameStart,sizeof(GameStart));
            

        }        
        
        return true;


   

    return true;
}

//游戏结束
bool __cdecl CTableFrameSink::OnEventGameEnd(WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbReason)
{   
    CString strFile,strTemp;
    CTime tmCur = CTime::GetCurrentTime();
    CString strTime = tmCur.Format("%m%d");
    strFile.Format("log\\%sOnEventGameEnd.log",strTime);

    strTemp.Format("into OnEventGameEnd");
    WriteLog(strFile, strTemp);

    switch (cbReason)
    {
    case GER_NORMAL:        //常规结束
        {
            //变量定义
            CMD_S_GameEnd GameEnd;
            msg=new char[100];            
            ZeroMemory(&GameEnd,sizeof(GameEnd));
            //LONG lCellScore=m_pGameServiceOption->lCellScore;   
            GameEnd.lCellScore = m_pGameServiceOption->lCellScore;
            GameEnd.bGoOnBankerTime = m_bGoOnBankerTime;
            strcpy(msg,"");

            
            //东西南北
            bool bAllSidesCard[4];
            ZeroMemory(bAllSidesCard,sizeof(bAllSidesCard));
            //春夏秋冬
            bool bAllSeasonCard[4];
            ZeroMemory(bAllSeasonCard,sizeof(bAllSeasonCard));
            //梅兰竹菊
            bool bAllPlantCard[4];
            ZeroMemory(bAllPlantCard,sizeof(bAllPlantCard));


            //结束信息
            GameEnd.wProvideUser=wChairID;
            GameEnd.cbChiHuCard=m_cbChiHuCard;
            for (WORD i=0;i<m_wPlayerCount;i++)
            {
                GameEnd.wChiHuKind=m_ChiHuResult.wChiHuKind;                    
                GameEnd.bFlowerCount=m_cbFlowerCount;
                GameEnd.bGangCount=m_cbGangCount;

                //统计金牌数目
                m_cbGoldCount+=m_GameLogic.GetGoldCardCount(m_cbCardIndex,m_WeaveItemArray,m_cbWeaveItemCount,m_cbGoldCard,4);
                GameEnd.bGoldCount=m_cbGoldCount;

                //梅兰竹菊
                if(m_GameLogic.IsExistAllPlantCard(m_cbCardIndex))
                {
                    bAllPlantCard=true;
                    GameEnd.bAllPlantCard=true;
                }

                //春夏秋冬
                if(m_GameLogic.IsExistAllSeasonCard(m_cbCardIndex))
                {
                    bAllSeasonCard=true;
                    GameEnd.bAllSeasonCard=true;
                }

                //东西南北
                if(m_GameLogic.IsExistAllSidesCard(m_cbCardIndex))
                {
                    bAllSidesCard=true;
                    GameEnd.bAllSidesCard=true;
                }
            }            
            
            //统计玩家非胡牌翻数
            BYTE bUserTime[GAME_PLAYER];
            ZeroMemory(bUserTime,sizeof(bUserTime));

            for(WORD i=0;i<GAME_PLAYER;i++)
            {
                bUserTime=m_cbGoldCount+m_cbFlowerCount+m_cbGangCount+
                    (bAllPlantCard?1:0)+(bAllSidesCard?1:0)+(bAllSeasonCard?1:0);
            }

            LONG lTmpScore=0L;
            LONG lBeiShu=1L;
下载地址:

          链接:https://pan.baidu.com/s/1P5nq8S7qSxA3i5CkcxuWtw
提取码:twng

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
工具下载
教程下载
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表