MFC之贪吃蛇

本文介绍了作者初学MFC时制作贪吃蛇游戏的过程。通过在CMainFrame::PreCreateWindow()函数中处理窗口大小,实现了固定客户区大小为560*560。文中提到使用双端队列存储贪吃蛇坐标,数据结构存储在文档类中,视图类负责显示。同时,讨论了随机生成食物和定时器的处理方法,以及如何在OnKeyDown函数中处理方向键消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

 

 记得刚上大学还不会编程的时候就开始YY自己什么时候写个贪吃蛇、扫雷的小游戏出来就好。如今acm竞赛已经结束,自己终于有些空余时间了。处于项目需要,最近又开始学习MFC,于是昨天花了一天时间写了个简陋的贪吃蛇游戏。


由于刚学MFC,也没有借鉴别人程序,刚开始还弄出很多错误,不过好歹自己最终都把这些bug搞定了。

 

自己目前也只是菜鸟,此篇文章更多只是为了一个记录,有兴趣的人可以看看。

 

 


不过这里想说一点用新出的IDE学习编程语言还真是麻烦。

 

比如说写这个贪吃蛇,为了程序的方便,所以想把客户区的大小固定下来,网上找的方法都是说在 

CMainFrame::PreCreateWindow(CREATESTRUCT& cs)这个函数里面  设定cs 的cx和xy值,以达到设定窗口大小的效果,但是在vs2010里面却会出现意想不到的效果,想知道什么效果的话,可以自己去试试。而且设定窗口大小并不是客户区大小,要想使客户区大小为500*500的话,还得进行处理。

 

网上没找到自己想要的解决办法,于自己只好想了一个折衷的办法,在自己的app类里面加一个CRect rect; 

然后利用  在CMain

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值