花了一下午和一个晚上的时间,借助百度终于把贪吃蛇给写出来了。原来这个真没想象中的难。最主要的把画图的那几个东西用好了就好了。
CBrush brush(RGB(200,200,200));//设置画刷颜色
CClientDC dc(this);
dc.FillRect(CRect(0,0,300,300),&brush);//用画刷画出矩形。
我的蛇就是用矩形小方格来实现的。如下:
dc.FillRect(CRect(point[i].x*20,point[i].y*20,(point[i].x+1)*20,(point[i].y+1)*20),&brush);
设置单文档窗口大小:CMainFrame::PreCreateWindow中添加
cs.hMenu=NULL;
cs.style&=~WS_MAXIMIZEBOX;禁用窗口最大化
cs.style&=~WS_THICKFRAME;禁用窗口拖动改变大小
cs.cx=310;
cs.cy=374;指定整个窗口的大小,注意不是客户区的大小
祛除工具条:
CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中注释掉
/* if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
*/显示工具条
// m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
// EnableDocking(CBRS_ALIGN_ANY);
// DockControlBar(&m_wndToolBar);工具条浮动
安全的关闭程序:AfxGetMainWnd()->SendMessage(WM_CLOSE); //关闭程序
显示对话框:
CString str;
str.Format("Snake died,and you got %d food...",score);可以有多个变量(score是变量)
AfxMessageBox(str);