vc 一个很奇怪的画图问题
小坤 2010-07-18 10:03:20 void CMy22View::next()
{
leastchoices=8;
for (int k=0; k<=7; k++) {
choices=-1;
if( nowi+imove[k] >=0 && nowi+imove[k] <=7 && nowj+jmove
[k]>=0&&nowj+jmove[k]<=7&& QIPAN[nowi+imove[k]][nowj+jmove[k]]==0)
{
choices=0;
for (int l=0; l<=7; l++)
{
if ( nowi+imove[k]+imove[l] >=0 && nowi+imove[k]+imove[l]<=7&& nowj+jmove[k]+jmove[l]>=0 && nowj+jmove[k]+jmove[l]<=7&& QIPAN[nowi+imove[k]+imove[l]][nowj+jmove[k]+jmove[l]]==0)
{
choices++;
}
}
if(choices<leastchoices)
{
leastchoices=choices;
m=nowi+imove[k];
n=nowj+jmove[k];
}
}
}
if(m==nowi && n==nowj) {
AfxMessageBox("end!!");
}
else {
nowi=m;
nowj=n;
QIPAN[nowi][nowj]=1;
CRect rect;
rect.left=nowi*60;
rect.right=nowi*60+60;
rect.top=nowj*60;
rect.bottom=nowj*60+60;
InvalidateRect(&rect);
AfxMessageBox(“!!”);
Sleep(10);
next();
}
}
void CMy22View::OnStart()
{
// TODO: Add your command handler code here
start();
next();
}
这是一个国际象棋马的遍历程序,为什么加上了 AfxMessageBox(“!!”);后才能画出图片,不加就只在最后位置画出了图片。
其中next 是一个递归函数。请大侠们指点呀!!!