📄 hanview.cpp
字号:
#ifdef _DEBUG
void CHanView::AssertValid() const
{
CView::AssertValid();
}
void CHanView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CHanDoc* CHanView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CHanDoc)));
return (CHanDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CHanView message handlers
void CHanView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CHanDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect crectKe=CRect(240+y*10,10+10*x,280+10*y,50+10*x);
InvalidateRect( crectKe,TRUE);
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
int Han=0;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
if(m==0&&n==0)
{m_tu[x+0][y+4]=0;m_tu[x+0][y+5]=0;m_tu[x+0][y+6]=0;m_tu[x+0][y+7]=0;
}
if(m==0&&n==2)
{m_tu[x+0][y+4]=0;m_tu[x+0][y+5]=0;m_tu[x+0][y+6]=0;m_tu[x+0][y+7]=0;
}
if(m==0&&n==1)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+2][y+4]=0;m_tu[x+3][y+4]=0;
}
if(m==0&&n==3)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+2][y+4]=0;m_tu[x+3][y+4]=0;
}
if(m==1)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+0][y+5]=0;m_tu[x+1][y+5]=0;
}
if(m==2&&n==0)
{m_tu[x+0][y+5]=0;m_tu[x+1][y+5]=0;m_tu[x+1][y+4]=0;m_tu[x+1][y+6]=0;
}
if(m==2&&n==1)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+2][y+4]=0;m_tu[x+1][y+5]=0;
}
if(m==2&&n==2)
{m_tu[x+0][y+4]=0;m_tu[x+0][y+5]=0;m_tu[x+0][y+6]=0;m_tu[x+1][y+5]=0;
}
if(m==2&&n==3)
{m_tu[x+0][y+5]=0;m_tu[x+1][y+4]=0;m_tu[x+2][y+5]=0;m_tu[x+1][y+5]=0;
}
if(m==3&&n==0)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+1][y+6]=0;m_tu[x+1][y+5]=0;
}
if(m==3&&n==1)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+2][y+4]=0;m_tu[x+0][y+5]=0;
}
if(m==3&&n==2)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+6]=0;m_tu[x+0][y+6]=0;m_tu[x+0][y+5]=0;
}
if(m==3&&n==3)
{m_tu[x+0][y+5]=0;m_tu[x+1][y+5]=0;m_tu[x+2][y+4]=0;m_tu[x+2][y+5]=0;
}
if(m==4&&n==0)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+0][y+6]=0;m_tu[x+0][y+5]=0;
}
if(m==4&&n==1)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+5]=0;m_tu[x+2][y+5]=0;m_tu[x+0][y+5]=0;
}
if(m==4&&n==2)
{m_tu[x+0][y+6]=0;m_tu[x+1][y+4]=0;m_tu[x+1][y+6]=0;m_tu[x+1][y+5]=0;
}
if(m==4&&n==3)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+2][y+4]=0;m_tu[x+2][y+5]=0;
}
if(m==5&&n==0)
{m_tu[x+1][y+5]=0;m_tu[x+1][y+4]=0;m_tu[x+0][y+6]=0;m_tu[x+0][y+5]=0;
}
if(m==5&&n==1)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+2][y+5]=0;m_tu[x+1][y+5]=0;
}
if(m==5&&n==2)
{m_tu[x+1][y+5]=0;m_tu[x+1][y+4]=0;m_tu[x+0][y+6]=0;m_tu[x+0][y+5]=0;
}
if(m==5&&n==3)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+5]=0;m_tu[x+2][y+5]=0;m_tu[x+1][y+4]=0;
}
if(m==6&&n==0)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+6]=0;m_tu[x+0][y+5]=0;m_tu[x+1][y+5]=0;
}
if(m==6&&n==1)
{m_tu[x+2][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+0][y+5]=0;m_tu[x+1][y+5]=0;
}
if(m==6&&n==2)
{m_tu[x+0][y+4]=0;m_tu[x+1][y+6]=0;m_tu[x+0][y+5]=0;m_tu[x+1][y+5]=0;
}
if(m==6&&n==3)
{m_tu[x+2][y+4]=0;m_tu[x+1][y+4]=0;m_tu[x+0][y+5]=0;m_tu[x+1][y+5]=0;
}
//------------------------------------------------------------------//
switch(nChar)
{
//------------------------------------------------------------------//
case VK_UP:
if(m==0&&n==3)
{if(m_tu[x+0][y+4]==0&&m_tu[x+0][y+5]==0&&m_tu[x+0][y+6]==0&&m_tu[x+0][y+7]==0)
Han=0;
else Han=3;
}
if(m==0&&n==1)
{if(m_tu[x+0][y+4]==0&&m_tu[x+0][y+5]==0&&m_tu[x+0][y+6]==0&&m_tu[x+0][y+7]==0)
Han=2;
else Han=1;
}
if(m==0&&n==0)
{
if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+2][y+4]==0&&m_tu[x+3][y+4]==0)
Han=1;
else Han=0;
}
if(m==0&&n==2)
{
if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+2][y+4]==0&&m_tu[x+3][y+4]==0)
Han=3;
else Han=2;
}
if(m==1)
{ Han=n;
}
if(m==2&&n==3)
{ if(m_tu[x+0][y+5]==0&&m_tu[x+1][y+5]==0&&m_tu[x+1][y+4]==0&&m_tu[x+1][y+6]==0)
Han=0;
else Han=3;
}
if(m==2&&n==0)
{
if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+2][y+4]==0&&m_tu[x+1][y+5]==0)
Han=1;
else Han=0;
}
if(m==2&&n==1)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+0][y+5]==0&&m_tu[x+0][y+6]==0&&m_tu[x+1][y+5]==0)
Han=2;
else Han=1;
}
if(m==2&&n==2)
{ if(m_tu[x+0][y+5]==0&&m_tu[x+1][y+4]==0&&m_tu[x+2][y+5]==0&&m_tu[x+1][y+5]==0)
Han=3;
else Han=2;
}
if(m==3&&n==3)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+1][y+6]==0&&m_tu[x+1][y+5]==0)
Han=0;
else Han=3;
}
if(m==3&&n==0)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+2][y+4]==0&&m_tu[x+0][y+5]==0)
Han=1;
else Han=0;
}
if(m==3&&n==1)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+6]==0&&m_tu[x+0][y+6]==0&&m_tu[x+0][y+5]==0)
Han=2;
else Han=1;
}
if(m==3&&n==2)
{ if(m_tu[x+0][y+5]==0&&m_tu[x+1][y+5]==0&&m_tu[x+2][y+4]==0&&m_tu[x+2][y+5]==0)
Han=3;
else Han=2;
}
if(m==4&&n==3)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+0][y+6]==0&&m_tu[x+0][y+5]==0)
Han=0;
else Han=3;
}
if(m==4&&n==0)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+5]==0&&m_tu[x+2][y+5]==0&&m_tu[x+0][y+5]==0)
Han=1;
else Han=0;
}
if(m==4&&n==1)
{ if(m_tu[x+0][y+6]==0&&m_tu[x+1][y+4]==0&&m_tu[x+1][y+6]==0&&m_tu[x+1][y+5]==0)
Han=2;
else Han=1;
}
if(m==4&&n==2)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+2][y+4]==0&&m_tu[x+2][y+5]==0)
Han=3;
else Han=2;
}
if(m==5&&n==3)
{ if(m_tu[x+1][y+5]==0&&m_tu[x+1][y+4]==0&&m_tu[x+0][y+6]==0&&m_tu[x+0][y+5]==0)
Han=0;
else Han=3;
}
if(m==5&&n==0)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+2][y+5]==0&&m_tu[x+1][y+5]==0)
Han=1;
else Han=0;
}
if(m==5&&n==1)
{ if(m_tu[x+1][y+5]==0&&m_tu[x+1][y+4]==0&&m_tu[x+0][y+6]==0&&m_tu[x+0][y+5]==0)
Han=2;
else Han=1;
}
if(m==5&&n==2)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+5]==0&&m_tu[x+2][y+5]==0&&m_tu[x+1][y+4]==0)
Han=3;
else Han=2;
}
if(m==6&&n==3)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+6]==0&&m_tu[x+0][y+5]==0&&m_tu[x+1][y+5]==0)
Han=0;
else Han=3;
}
if(m==6&&n==0)
{ if(m_tu[x+2][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+0][y+5]==0&&m_tu[x+1][y+5]==0)
Han=1;
else Han=0;
}
if(m==6&&n==1)
{ if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+6]==0&&m_tu[x+0][y+5]==0&&m_tu[x+1][y+5]==0)
Han=2;
else Han=1;
}
if(m==6&&n==2)
{ if(m_tu[x+2][y+4]==0&&m_tu[x+1][y+4]==0&&m_tu[x+0][y+5]==0&&m_tu[x+1][y+5]==0)
Han=3;
else Han=2;
}
n=Han;
break;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
case VK_DOWN:
if(m==0&&n==0)
{if(m_tu[x+1][y+4]==0&&m_tu[x+1][y+5]==0&&m_tu[x+1][y+6]==0&&m_tu[x+1][y+7]==0){x++;}
else{pandiantuxing=1;}}
if(m==0&&n==2)
{if(m_tu[x+1][y+4]==0&&m_tu[x+1][y+5]==0&&m_tu[x+1][y+6]==0&&m_tu[x+1][y+7]==0){x++;}
else{pandiantuxing=1;}}
if(m==0&&n==1)
{if(m_tu[x+4][y+4]==0){x++;}else{pandiantuxing=1;}}
if(m==0&&n==3)
{if(m_tu[x+4][y+4]==0){x++;}
else{pandiantuxing=1;}}
if(m==1)
{if(m_tu[x+2][y+4]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==2&&n==0)
{if(m_tu[x+2][y+5]==0&&m_tu[x+2][y+4]==0&&m_tu[x+2][y+6]==0){x++;}
else{pandiantuxing=1;}}
if(m==2&&n==1)
{if(m_tu[x+3][y+4]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==2&&n==2)
{if(m_tu[x+1][y+4]==0&&m_tu[x+1][y+6]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==2&&n==3)
{if(m_tu[x+2][y+4]==0&&m_tu[x+3][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==3&&n==0)
{if(m_tu[x+2][y+4]==0&&m_tu[x+2][y+6]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==3&&n==1)
{if(m_tu[x+3][y+4]==0&&m_tu[x+1][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==3&&n==2)
{if(m_tu[x+1][y+4]==0&&m_tu[x+2][y+6]==0&&m_tu[x+1][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==3&&n==3)
{if(m_tu[x+3][y+4]==0&&m_tu[x+3][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==4&&n==0)
{if(m_tu[x+2][y+4]==0&&m_tu[x+1][y+6]==0&&m_tu[x+1][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==4&&n==1)
{if(m_tu[x+1][y+4]==0&&m_tu[x+3][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==4&&n==2)
{if(m_tu[x+2][y+4]==0&&m_tu[x+2][y+6]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==4&&n==3)
{if(m_tu[x+3][y+4]==0&&m_tu[x+3][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==5&&n==0)
{if(m_tu[x+2][y+5]==0&&m_tu[x+2][y+4]==0&&m_tu[x+1][y+6]==0){x++;}
else{ pandiantuxing=1;}}
if(m==5&&n==1)
{if(m_tu[x+3][y+5]==0&&m_tu[x+2][y+4]==0){x++;}
else{pandiantuxing=1;}}
if(m==5&&n==2)
{if(m_tu[x+2][y+5]==0&&m_tu[x+2][y+4]==0&&m_tu[x+1][y+6]==0){x++;}
else{pandiantuxing=1;}}
if(m==5&&n==3)
{if(m_tu[x+3][y+5]==0&&m_tu[x+2][y+4]==0){x++;}
else{pandiantuxing=1;}}
if(m==6&&n==0)
{if(m_tu[x+1][y+4]==0&&m_tu[x+2][y+6]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==6&&n==1)
{if(m_tu[x+3][y+4]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==6&&n==2)
{if(m_tu[x+1][y+4]==0&&m_tu[x+2][y+6]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
if(m==6&&n==3)
{if(m_tu[x+3][y+4]==0&&m_tu[x+2][y+5]==0){x++;}
else{pandiantuxing=1;}}
break;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
case VK_LEFT:
if(m==0&&n==0)
{if(m_tu[x+0][y+3]==0){y--;}}
if(m==0&&n==2)
{if(m_tu[x+0][y+3]==0){y--;}}
if(m==0&&n==1)
{if(m_tu[x+0][y+3]==0&&m_tu[x+1][y+3]==0&&m_tu[x+2][y+3]==0&&m_tu[x+3][y+3]==0){y--;}}
if(m==0&&n==3)
{if(m_tu[x+0][y+3]==0&&m_tu[x+1][y+3]==0&&m_tu[x+2][y+3]==0&&m_tu[x+3][y+3]==0){y--;}}
if(m==1)
{if(m_tu[x+0][y+3]==0&&m_tu[x+1][y+3]==0){y--;}}
if(m==2&&n==0)
{if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+3]==0){y--;}}
if(m==2&&n==1)
{if(m_tu[x+2][y+3]==0&&m_tu[x+1][y+3]==0&&m_tu[x+0][y+3]==0){y--;}}
if(m==2&&n==2)
{if(m_tu[x+0][y+3]==0&&m_tu[x+1][y+4]==0){y--;}}
if(m==2&&n==3)
{if(m_tu[x+0][y+4]==0&&m_tu[x+1][y+3]==0&&m_tu[x+2][y+4]==0){y--;}}
if(m==3&&n==0)
{if(m_tu[x+0][y+3]==0&&m_tu[x+1][y+3]==0){y--;} }
if(m==3&&n==1)
{if(m_tu[x+2][y+3]==0&&m_tu[x+1][y+3]==0&&m_tu[x+0][y+3]==0){y--;}}
if(m==3&&n==2)
{if(m_tu[x+0][y+3]==0&&m_tu[x+1][y+6]==0){y--;}}
if(m==3&&n==3)
{if(m_tu[x+0][y+4]==0&&m_tu[x+2][y+3]==0&&m_tu[x+1][y+4]==0){y--;}}
if(m==4&&n==0)
{if(m_tu[x+1][y+3]==0&&m_tu[x+0][y+3]==0){y--;}}
if(m==4&&n==1)
{if(m_tu[x+1][y+4]==0&&m_tu[x+2][y+4]==0&&m_tu[x+0][y+3]==0){y--;}}
if(m==4&&n==2)
{if(m_tu[x+1][y+3]==0&&m_tu[x+0][y+5]==0){y--;}}
if(m==4&&n==3)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -