资源简介

一款基于C编写的中国象棋小游戏(人人、人机对战),供相关开发人员借鉴。

资源截图

代码片段和文件信息

// BaiDlg.cpp : implementation file
//

#include “stdafx.h“
#include “Chess.h“
#include “baseDef.h“
#include “CoolButton.h“
#include “Thinker.h“

#include “ChessDlg.h“
#include “BaiDlg.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBaiDlg dialog


CBaiDlg::CBaiDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBaiDlg::IDD pParent)
{
//{{AFX_DATA_INIT(CBaiDlg)
m_nGoSide = -1;
//}}AFX_DATA_INIT
}


void CBaiDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBaiDlg)
DDX_Control(pDX IDC_BT_SAVE m_btSave);
DDX_Control(pDX IDC_BT_OPEN m_btOpen);
DDX_Control(pDX IDC_BT_NORMAL m_btNormal);
DDX_Control(pDX IDC_BT_CLEAR m_btClear);
DDX_Control(pDX IDCANCEL m_btCancel);
DDX_Control(pDX IDC_BAIOK m_btOK);
DDX_Radio(pDX IDC_RADIO_GOSIDE_RED m_nGoSide);
//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBaiDlg CDialog)
//{{AFX_MSG_MAP(CBaiDlg)
ON_BN_CLICKED(IDC_BAIOK OnBaiok)
ON_WM_PAINT()
ON_WM_RBUTTONDOWN()
ON_WM_MOUSEMOVE()
ON_BN_CLICKED(IDC_BT_CLEAR OnBtClear)
ON_BN_CLICKED(IDC_BT_NORMAL OnBtNormal)
ON_COMMAND(ID_BLACK_B OnBlackB)
ON_COMMAND(ID_BLACK_J OnBlackJ)
ON_COMMAND(ID_BLACK_K OnBlackK)
ON_COMMAND(ID_BLACK_M OnBlackM)
ON_COMMAND(ID_BLACK_P OnBlackP)
ON_COMMAND(ID_BLACK_S OnBlackS)
ON_COMMAND(ID_BLACK_X OnBlackX)
ON_COMMAND(ID_RED_B OnRedB)
ON_COMMAND(ID_RED_J OnRedJ)
ON_COMMAND(ID_RED_K OnRedK)
ON_COMMAND(ID_RED_M OnRedM)
ON_COMMAND(ID_RED_P OnRedP)
ON_COMMAND(ID_RED_S OnRedS)
ON_COMMAND(ID_RED_X OnRedX)
ON_COMMAND(ID_BAI_DELETE OnBaiDelete)
ON_WM_LBUTTONDOWN()
ON_BN_CLICKED(IDC_BT_OPEN OnBtOpen)
ON_BN_CLICKED(IDC_BT_SAVE OnBtSave)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBaiDlg message handlers

BOOL CBaiDlg::OnInitDialog() 
{
CDialog::OnInitDialog();

m_pParent=(CChessDlg*)GetParent();

m_pdcBack=m_pParent->m_pdcBack;
m_pdcBoard=m_pParent->m_pdcBoard;
New(m_pParent->m_Face);

UpdateData(FALSE);

return TRUE;  // return TRUE unless you set the focus to a control
              // EXCEPTION: OCX Property Pages should return FALSE
}

void CBaiDlg::OnBaiok() 
{
// TODO: Add your control notification handler code here
UpdateData(TRUE); 
CFace face;
if(GetFace(face))
{
face.side=m_nGoSide;
m_pParent->New(face);
OnOK();
}
}

void CBaiDlg::UpdateFace()
{
CRect rc(00BWA*9BWA*10);
m_pdcBack->BitBlt(rc.leftrc.toprc.Width()rc.Height()m_pdcBoardrc.leftrc.topSRCCOPY);

for(int i=0;i<=8;i++)
for(int j=0;j<=9;j++)
if(m_IconMap[i+1][j+1]!=32)
m_pdcBack->DrawIcon(i*BWA+SWj*BWA+SWm_pParent->m_hIconMan[m_IconMap[i+1][j+1]]);
CClientDC dc(this);
dc.BitBlt(rc.leftrc.toprc.Width()rc.Height()m_pdcBackrc

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-11-19 19:12  中国象棋\
     文件       10576  2000-11-02 02:59  中国象棋\BaiDlg.cpp
     文件        2286  2000-10-23 03:18  中国象棋\BaiDlg.h
     文件        6160  2000-11-03 05:52  中国象棋\baseClasses.cpp
     文件        1731  2000-11-03 03:12  中国象棋\baseClasses.h
     文件        6855  2000-11-01 18:29  中国象棋\baseDef.cpp
     文件        2441  2000-11-03 06:56  中国象棋\baseDef.h
     文件       47696  2012-11-19 19:06  中国象棋\Chess.aps
     文件        7257  2012-11-19 19:12  中国象棋\Chess.clw
     文件        2020  2000-10-31 03:08  中国象棋\Chess.cpp
     文件        6663  2000-11-05 03:40  中国象棋\Chess.dsp
     文件         535  2003-07-26 12:15  中国象棋\Chess.dsw
     文件        1313  2000-10-23 01:18  中国象棋\Chess.h
     文件      312320  2012-11-19 19:12  中国象棋\Chess.ncb
     文件       51712  2012-11-19 19:12  中国象棋\Chess.opt
     文件         991  2007-05-08 14:09  中国象棋\Chess.plg
     文件       17537  2000-11-05 02:41  中国象棋\Chess.rc
     文件       27794  2000-11-05 02:04  中国象棋\ChessDlg.cpp
     文件        4077  2000-11-05 01:37  中国象棋\ChessDlg.h
     文件        6149  2000-05-25 13:59  中国象棋\CoolButton.cpp
     文件        1527  2000-10-23 03:38  中国象棋\CoolButton.h
     目录           0  2008-08-17 01:22  中国象棋\Debug\
     文件     1605688  2007-05-08 14:09  中国象棋\Debug\Chess.exe
     文件          24  2007-07-04 17:36  中国象棋\Debug\Setting.set
     文件          76  2003-08-30 18:26  中国象棋\Debug\Thinker.set
     文件       14359  2000-10-29 01:39  中国象棋\hlinkctl.cpp
     文件        4924  2000-10-29 01:39  中国象棋\hlinkctl.h
     文件         751  2000-11-01 18:31  中国象棋\MapFace.cpp
     文件         692  2000-10-29 21:09  中国象棋\MapFace.h
     文件        4721  2000-10-31 17:06  中国象棋\MoveList.cpp
     文件         790  2000-10-30 19:07  中国象棋\MoveList.h
............此处省略41个文件信息

评论

共有 条评论