小弟我刚学MFC,自己写的一个俄罗斯方块的小程序!下面是那段出错的代码:
CClientDC dc(this);
CDC MemDC;
MemDC.CreateCompatibleDC(&dc);
CBitmap * OldBitmap=MemDC.SelectObject(&m_btBitmap[m_nKindOfBitmap++]);
for(int i=0;i<4;i++)
for(int j=0;j<4;i++)
{
if(m_nShaps[m_nKindOfTetri][m_nKindOfShap][i][j]==1)
dc.BitBlt((Point.x+16*j),(Point.y+16*j),16,16,&MemDC,0,0,SRCCOPY);
}
MemDC.SelectObject(OldBitmap);
其中Point是第一个方块的坐标,m_nKindOfTetri为方块的种类,m_nKindOfShap为方块的形状,两个都是int型变量。编译没有问题,可是运行时老是说有一段内存不能读,各位帮帮忙,谢谢了!
CClientDC dc(this);
CDC MemDC;
MemDC.CreateCompatibleDC(&dc);
CBitmap * OldBitmap=MemDC.SelectObject(&m_btBitmap[m_nKindOfBitmap++]);
for(int i=0;i<4;i++)
for(int j=0;j<4;i++)
{
if(m_nShaps[m_nKindOfTetri][m_nKindOfShap][i][j]==1)
dc.BitBlt((Point.x+16*j),(Point.y+16*j),16,16,&MemDC,0,0,SRCCOPY);
}
MemDC.SelectObject(OldBitmap);
其中Point是第一个方块的坐标,m_nKindOfTetri为方块的种类,m_nKindOfShap为方块的形状,两个都是int型变量。编译没有问题,可是运行时老是说有一段内存不能读,各位帮帮忙,谢谢了!
------是你for()循环搞错了吧..!for(int i=0;i <4;i++)
for(int j=0;j <4;i++)
改:
for(int i=0;i <4;i++)
for(int j=0;j <4;j++)