本人学vc不久 最近想写一个贪吃蛇的游戏  用ondraw绘制 身体sn.snake.length 初始化长度为3 绘制正确
但吃掉事物后身体不能显示变化 用调试工具查看中间值 sn.snake.length 实际上已经加长到4 说明算法应该正确 可图片上的长度仍然是3 不知道为什么 请各位大哥帮帮忙 非常着急啊
void CTcs1View::OnDraw(CDC* pDC)
{
CTcs1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
    int bodyx;
int bodyy;

CDC       dcMem ;        //内存中的DC指针,以便调用GDI函数在位图中绘图 
    dcMem.CreateCompatibleDC(pDC);    //创建与窗体设备环境一样大小DC
dcMem.SelectObject(&bm);
CBrush brush1(RGB(255,0,255));
CBrush brush2(RGB(255,0,0));
CBrush brush3(RGB(0,255,0));
    CBrush *pbrush=dcMem.SelectObject(&brush1);//使用自定义画刷,保存默认画刷
for(int i=0;i<sn.snake.length;i++)
{   

bodyx=sn.snake.bp[i].x*13;
    bodyy=sn.snake.bp[i].y*13;
if(i!=0)
    dcMem.SelectObject(&brush2);

dcMem.Ellipse(bodyx,bodyy,bodyx+13,bodyy+13);
}
dcMem.SelectObject(&brush3); 
dcMem.Ellipse(fd[0].snfd.x*13,fd[0].snfd.y*13,fd[0].snfd.x*13+13,fd[0].snfd.y*13+13);
pDC->BitBlt(30,30,533,403,&dcMem,0,0,SRCCOPY);
    bm.DeleteObject();
dcMem.DeleteDC();
// TODO: add draw code for native data here
}