贪食蛇MFC

第一次用MFC写程序,写的不好

变量声明:

基本实现源码:

想法很简单,用一个数组当地图,初始化为0;当走过时标记为1,食物标记为2

走过的路程用一个Array来存;蛇向前走一格蛇头就标1,蛇尾就判断(地图标志是1就清除,是2就把他刷新为蛇体)

当然还有升级,8个食物为1级

 

实现:

蛇走过的路程要用一个容器给装起来,我用了Array,当然用队列更好

声明:CArray RoteLine;

当然要加上头文件,#include

这样编译一下很可能会报错 fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1794)

就算现在不报,以后也很有可能会报,这是编译器问题,带vs2005就基本不会了

我就百度了下 发现 http://www.cnblogs.com/xinjun/archive/2010/07/16/1778637.html 写的不错

分析下我是要删除什么什么,我去找没找到

就把 工程下的 Debug下删除的只剩下 *.bsc 和那个 *.exe

奇迹出现了,能成功编译,并没有再报过 C1001

 

在清理走过的轨迹时,用

InvalidateRect(CRect(Position_tial.x *30,Position_tial.y *30,Position_tial.x *30+30,Position_tial.y *30+30),true);

CRect的后两个参数不是长度,而是相对于客户区的坐标!!,搞的我纠结了好久,看地图标志没错,但视图就是不对

我是在OnStart中把游戏区开始时就画满了,这样就能看到清理函数的轨迹,才发现的,很有用!!!

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部