// chineseqiView.cpp : implementation of the CChineseqiView class
//
#include "stdafx.h"
#include "chineseqi.h"
#include "mainfrm.h"
#include "chineseqiDoc.h"
#include "chineseqiView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CChineseqiView
IMPLEMENT_DYNCREATE(CChineseqiView, CView)
BEGIN_MESSAGE_MAP(CChineseqiView, CView)
//{{AFX_MSG_MAP(CChineseqiView)
ON_COMMAND(RENSHU, OnRENSHU)
ON_WM_ERASEBKGND()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
ON_WM_RBUTTONUP()
ON_COMMAND(CREATE, OnCREATE)
ON_COMMAND(JOIN, OnJOIN)
ON_WM_DESTROY()
ON_WM_SIZE()
ON_WM_SETCURSOR()
ON_WM_LBUTTONDOWN()
ON_COMMAND(SETUP, OnSETUP)
ON_WM_CREATE()
ON_COMMAND(REGRET, OnREGRET)
ON_COMMAND(WHATTHIS, OnWHATTHIS)
ON_COMMAND(STATUS, OnSTATU)
ON_WM_CHAR()
ON_WM_TIMER()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CChineseqiView construction/destruction
CChineseqiView::CChineseqiView()
{
// TODO: add construction code here
bepop=FALSE;
hasbegin=FALSE;
moving=FALSE;
nowmoveobj.obj=0;
nowmoveobj.left=0;
nowmoveobj.top=0;
nowmoveobj.x=-1;
nowmoveobj.y=-1;
marginleft=0;
margintop=0;
CBitmap bmp;
bmp.LoadBitmap(BOARD);
BITMAP bm;
bmp.GetObject(sizeof(BITMAP),&bm);
boardwidth=bm.bmWidth;
boardheight=bm.bmHeight;
bered=FALSE;
hasright=TRUE;
hasbegin=FALSE;
bkcolor=RGB(0,0,0);
wihich=1;
nowseek=0;
bemoveing=FALSE;
blninput=FALSE;
qishu *qi=new qishu();
qi->initqi();
qiarray.Add(qi);
nowseek++;
myqi=new qishu();
nowthick=0;
myapp=AfxGetApp();
handcur=LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(HAND));
movecur=LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(HANDMOVE));
busycur=LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(BUSY));
m_timeout=20000;
myselfcolor=RGB(0,0,255);
othercolor=RGB(255,0,0);
editcolor=RGB(0,255,0);
quitthread=FALSE;
getreadinfo=FALSE;
}
CChineseqiView::~CChineseqiView()
{
qiarray.RemoveAll();
strlist.RemoveAll();
DeleteObject(handcur);
DeleteObject(movecur);
DeleteObject(busycur);
delete myqi;
if(mainsocket)
{
mainsocket->Close();
delete mainsocket;
}
if(comsocket)
{
comsocket->Close();
delete comsocket;
}
}
BOOL CChineseqiView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CChineseqiView drawing
void CChineseqiView::OnDraw(CDC* pDC)
{
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CChineseqiView printing
void CChineseqiView::drawqi(CDC *dc)
{
CDC memdc ;
memdc.CreateCompatibleDC(dc);
CRect rect;
GetClientRect(&rect);
int i;
int j;
int left;
int top;
int width;
int height;
BITMAP bm;
CBitmap bmp;
dc->FillSolidRect(&rect,bkcolor);
if (bkmap.m_hObject)
{
bkmap.GetObject(sizeof(BITMAP),&bm);
CBitmap * old=memdc.SelectObject(&bkmap);
switch (wihich)
{
case 1:
for(i=0;i<rect.Width();i+=bm.bmWidth )
for(j=0;j<rect.Height();j+=bm.bmHeight )
dc->BitBlt(i,j,bm.bmWidth,bm.bmHeight,&memdc,0,0,SRCCOPY);
break;
case 2:
dc->StretchBlt( 0,0,rect.Width(),rect.Height(),&memdc,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
break;
case 3:
left=(rect.Width()-bm.bmWidth)/2;
top=(rect.Height()-bm.bmHeight)/2;
if (top<0) top=0;
if (left<0) left=0;
width=bm.bmWidth;
height=bm.bmHeight;
if (width>rect.Width()) width=rect.Width();
if(height>rect.Height()) height=rect.Height();
dc->BitBlt(left,top,width,height,&memdc,0,0,SRCCOPY);
break;
}
memdc.SelectObject(old);
}
bmp.LoadBitmap(BOARD);
// dc->BitBlt(marginleft+70,margintop,boardwidth,boardheight,&memdc,0,0,SRCCOPY);
TransparentBlt(dc,marginleft+70,margintop,boardwidth,boardheight,&bmp,0,0,RGB(0,0,0));
bmp.DeleteObject ();
if(myqi->jiang)
{
bmp.LoadBitmap(JIANGJUN);
TransparentBlt(dc,marginleft+180,margintop+80,100,200,&bmp,0,0,RGB(0,0,0));
bmp.DeleteObject();
}
for (i=0;i<9;i++)
for (j=0;j<10;j++)
{
if (myqi->qi[j][i]==0) continue;
if (bered)
{
switch (myqi->qi[j][i])
{
case 1:
bmp.LoadBitmap (REDZHU);
break;
case 2:
bmp.LoadBitmap(REDMA);
break;
case 3:
bmp.LoadBitmap(REDPAO);
break;
case 4:
bmp.LoadBitmap(REDXIANG);
break;
case 5:
bmp.LoadBitmap(REDSHI);
break;
case 6:
bmp.LoadBitmap(REDSUAI);
break;
case 7:
bmp.LoadBitmap(REDBIN);
break;
case -1:
bmp.LoadBitmap (BLACKZHU);
break;
case -2:
bmp.LoadBitmap(BLACKMA);
break;
case -3:
bmp.LoadBitmap(BLACKPAO);
break;
case -4:
bmp.LoadBitmap(BLACKXIANG);
break;
case -5:
bmp.LoadBitmap(BLACKSHI);
break;
case -6:
bmp.LoadBitmap(BLACKJIANG);
break;
case -7:
bmp.LoadBitmap(BLACKBIN);
break;
}
}
else
{
switch (myqi->qi[j][i])
{
case -1:
bmp.LoadBitmap (REDZHU);
break;
case -2:
bmp.LoadBitmap(REDMA);
break;
case -3:
bmp.LoadBitmap(REDPAO);
break;
case -4:
bmp.LoadBitmap(REDXIANG);
break;
case -5:
bmp.LoadBitmap(REDSHI);
break;
case -6:
bmp.LoadBitmap(REDSUAI);
break;
case -7:
bmp.LoadBitmap(REDBIN);
break;
case 1:
bmp.LoadBitmap (BLACKZHU);
break;
case 2:
bmp.LoadBitmap(BLACKMA);
break;
case 3:
bmp.LoadBitmap(BLACKPAO);
break;
case 4:
bmp.LoadBitmap(BLACKXIANG);
break;
case 5:
bmp.LoadBitmap(BLACKSHI);
break;
case 6:
bmp.LoadBitmap(BLACKJIANG);
break;
case 7:
bmp.LoadBitmap(BLACKBIN);
break;
}
}
//old=memdc.SelectObject(&bmp);
TransparentBlt(dc,marginleft+70+i*35,margintop+j*35,35,35,&bmp,0,0,RGB(6,0,255));
bmp.DeleteObject();
}
}
void CChineseqiView::drawdead(CDC *dc)
{
int i;
CBitmap bmp;
for (i=0;i<16;i++)
{
if (myqi->mydead[i]==0) break;
if (bered)
{
switch (myqi->mydead[i])
{
case 1:
bmp.LoadBitmap (REDZHU);
break;
case 2:
bmp.LoadBitmap(REDMA);
break;
case 3:
bmp.LoadBitmap(REDPAO);
break;
case 4:
bmp.LoadBitmap(REDXIANG);
break;
case 5:
bmp.LoadBitmap(REDSHI);
break;
case 6:
bmp.LoadBitmap(REDSUAI);
break;
case 7:
bmp.LoadBitmap(REDBIN);
break;
}
}
else
{
switch (myqi->mydead[i])
{
case 1:
bmp.LoadBitmap (BLACKZHU);
break;
case 2:
bmp.LoadBitmap(BLACKMA);
break;
case 3:
bmp.LoadBitmap(BLACKPAO);
break;
case 4:
bmp.LoadBitmap(BLACKXIANG);
break;
case 5:
bmp.LoadBitmap(BLACKSHI);
break;
case 6:
bmp.LoadBitmap(BLACKJIANG);
break;
case 7:
bmp.LoadBitmap(BLACKBIN);
break;
}
}
TransparentBlt(dc,marginleft+(i/8)*35,margintop+(9-i%8)*35,35,35,&bmp,0,0,RGB(6,0,255));
bmp.DeleteObject();
}
for (i=0;i<16;i++)
{
if (myqi->otherdead[i]>=0) break;
if (myqi->otherdead[i]<-7) break;
if (bered)
{
switch (myqi->otherdead[i])
{
case -1:
bmp.LoadBitma
没有合适的资源?快使用搜索试试~ 我知道了~
商业编程-源码-网络中国象棋对弈程序源代码.zip
共75个文件
bmp:22个
h:18个
cpp:16个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 44 浏览量
2022-06-23
18:22:15
上传
评论
收藏 175KB ZIP 举报
温馨提示
商业编程-源码-网络中国象棋对弈程序源代码.zip
资源推荐
资源详情
资源评论
收起资源包目录
商业编程-源码-网络中国象棋对弈程序源代码.zip (75个子文件)
网络中国象棋对弈程序源代码
chineseqi.clw 5KB
ipdlg.cpp 966B
StdAfx.cpp 211B
resource.h 3KB
setupdlg.cpp 7KB
Listensocket.cpp 977B
ipdialog.cpp 2KB
chineseqiView.cpp 40KB
ipdialog.h 1KB
Colorpickercb.h 3KB
Tcpsocket.h 1KB
qishu.cpp 15KB
Tcpsocket.cpp 926B
chineseqiDoc.cpp 2KB
Colorpickercb.cpp 8KB
MainFrm.h 3KB
myfiledlg.h 1KB
chineseqi.dsw 541B
qishu.h 1KB
setupdlg.h 2KB
chineseqi.cpp 5KB
myfiledlg.cpp 1KB
Debug
Midi.h 10KB
chineseqi.dsp 7KB
resource.hm 220B
StdAfx.h 1KB
chineseqiView.h 5KB
chineseqihelp
help.hpj 393B
help.rtf 20KB
help.GID 11KB
HELP.HLP 10KB
reviewstatic.cpp 3KB
Listensocket.h 1KB
MainFrm.cpp 5KB
MIDI.CPP 35KB
ipdlg.h 1KB
f.h 450B
Release
chineseqi.hlp 10KB
f.cpp 494B
chineseqi.h 1KB
res
redbin.bmp 4KB
redshi.bmp 4KB
blackbin.bmp 4KB
blackma.bmp 4KB
bkmp.bmp 39KB
redxiang.bmp 4KB
H_move.cur 766B
blackjiang.bmp 4KB
Icr_hand.cur 326B
madai.bmp 2KB
KALINKA.MID 41KB
blackzhu.bmp 4KB
H_point.cur 766B
chineseqi.rc2 401B
chineseqiDoc.ico 1KB
blackshi.bmp 4KB
blackxiang.bmp 4KB
bitmap1.bmp 328KB
chineseqi.ico 1KB
blackpao.bmp 4KB
redma.bmp 4KB
redsuai.bmp 4KB
redpao.bmp 4KB
MAINboard.bmp 52KB
WAIT07.CUR 766B
狡籹 -board1.bmp 327KB
redzhu.bmp 4KB
board1.bmp 327KB
muban.bmp 24KB
Busy_1.cur 766B
jiang.bmp 11KB
reviewstatic.h 1KB
chineseqiDoc.h 1KB
globl.h 461B
chineseqi.rc 17KB
共 75 条
- 1
资源评论
programxh
- 粉丝: 17
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功