WEB开发网
开发学院软件开发VC VC++ 2008开发网络百家乐街机游戏(下) 阅读

VC++ 2008开发网络百家乐街机游戏(下)

 2009-02-27 20:03:11 来源:WEB开发网   
核心提示: 运行后导出格式截图如下:以上只介绍系统管理功能组的两个核心模块,其余模块由于篇幅所限不再赘述.4.3 游戏时钟端设计游戏时钟控制台是控制的整个百家乐游戏启停运行的,操作人员通过游戏时钟控制台控制前台客户端游戏的运行与暂停,整个游戏的开局与倒计时皆可在此模块操控.4.3.1 软件界面布置打开

运行后导出格式截图如下:

VC++ 2008开发网络百家乐街机游戏(下)

 以上只介绍系统管理功能组的两个核心模块,其余模块由于篇幅所限不再赘述.

4.3  游戏时钟端设计

游戏时钟控制台是控制的整个百家乐游戏启停运行的,操作人员通过游戏时钟控制台控制前台客户端游戏的运行与暂停,整个游戏的开局与倒计时皆可在此模块操控.

4.3.1  软件界面布置

打开Visual C++ 2008 IDE环境,新建以TH_ROUND_TIM命名的MFC Dialog工程方案,布置Dialog界面的控件如下图:

VC++ 2008开发网络百家乐街机游戏(下)

4.3.2  模块编码

根据该款百家乐街机游戏的设计思想,游戏时钟控制台通过网络数据源读取服务端的ACCESS 2007数据库,并由操控数据库中的th_round_time同步时钟记录表控制前台客户端的运行,因此采用定时进程的设计思想编写该模块的核心函数,编码如下:

void CTH_ROUND_TIMDlg::OnTimer(UINT nIDEvent)
{
     // TODO: Add your message handler code here and/or call default
     if(bool_end)
     {
         CString strdjs,strsubdjs;
         //读取游戏设置的倒计时数值
         labelccdjs:
         try
         {
              m_djs.GetWindowText(strdjs);
              strsubdjs.Format("%d",atoi(strdjs.operator LPCTSTR())-1);
              CDATABE_ADO m_ado;
              m_ado.Open("TH_ROUND","admin/admin","flyingtjf");
              m_ado.OpenTable("select * from th_round_time");
              m_ado.SetField("djs",strsubdjs);
              m_djs.SetWindowText(strsubdjs);
              m_ado.Close();
         }
         catch(...)
         {
              goto labelccdjs;
         }
         if(atoi(strsubdjs.operator LPCTSTR())==10&&string_gameregular=="BTOC")
         {
              //在倒计时几秒时阻断前端客户机的一切上分操作
              if(bool_sfcdpx)
              {
                   run_cdpx();
              }
              else
              {
                   if(bool_sfzdsc)
                   {
                       run_zdsf();
                   }
              }
         }
         //将游戏时钟控制台置于等待状态
         if(atoi(strsubdjs.operator LPCTSTR())==0)
         {
              labelstart:
              try
              {
                   CDATABE_ADO m_datado;
                   m_datado.Open("TH_ROUND","admin/admin","flyingtjf");
                   m_datado.OpenTable("select * from th_round_wait");
                   m_datado.SetField("reset","1");
                   m_datado.Close();
              }
              catch(...)
              {
                   goto labelstart;
              }
         //在前台客户端游戏运行发牌动画时同步等待 
              Sleep(10000);
              CString bool_waitmac="1";
              do
              {
                   label:
                   try
                   {
                       CDATABE_ADO m_ado;
                       m_ado.Open("TH_ROUND","admin/admin","flyingtjf");
                        m_ado.OpenTable("select * from th_round_wait");
                       bool_waitmac=m_ado.GetField("waitmac");
                       m_ado.Close();
                   }
                   catch(...)
                   {
                       goto label;
                   }
              }
              while(bool_waitmac=="1");
              //下一轮游戏倒计时开始
              CString bufferdjs;
              {
                   label1:
                  try
                   {
                       CDATABE_ADO m_ado;
                       m_ado.Open("TH_ROUND","admin/admin","flyingtjf");
                       m_ado.OpenTable("select * from th_round_info");
                       bufferdjs=m_ado.GetField("倒计时");
                       string_gameregular=m_ado.GetField("游戏规则");
                       …
                       //读取设置的基础数据
              }
              //场次计数
              CString string_bjcc;
              m_bjcc.GetWindowText(string_bjcc);
              labelccjs:
              try
              {
                   CDATABE_ADO m_ado;
                   ……
                   m_datado.Close();
              }
              catch(...)
              {
                   goto labelend;
              }
              //180局游戏运行完毕后,时钟控制台自动停止
              if(atoi(string_bjcc.operator LPCTSTR())>=179)
              {
                   KillTimer(1);
                   bool_end=false;
                   //总局数计数
                   …
                   MessageBox("本局场次已结束!","提示");
              }
         }
     }
     CDialog::OnTimer(nIDEvent);
}

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:VC 开发 网络

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接