| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4304 人关注过本帖, 1 人收藏
标题:[原创]贪吃蛇由Consule到MFC
取消只看楼主 加入收藏
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏(1)
 问题点数:0 回复次数:11 
[原创]贪吃蛇由Consule到MFC

以前写过一个贪吃蛇的控制台程序。
一直就响写有界面的,现在终于完成了一个低级的。
程序如下:

DrOGR4zV.rar (1.98 MB) [原创]贪吃蛇由Consule到MFC






---------------------------------------------------------------------------------------------------------------------------------------------------

上面是更新以后的文件

[此贴子已经被作者于2006-8-28 14:00:37编辑过]



1dJKuIny.rar (21.37 KB) [原创]贪吃蛇由Consule到MFC



JuTPTMTh.rar (73.86 KB) [原创]贪吃蛇由Consule到MFC



28wsbfNV.rar (993.24 KB) [原创]贪吃蛇由Consule到MFC



h92N4RXo.rar (1.97 MB) [原创]贪吃蛇由Consule到MFC



QJXRTXKp.rar (1.97 MB) [原创]贪吃蛇由Consule到MFC



hxLo8dil.rar (993.32 KB) [原创]贪吃蛇由Consule到MFC



J6gI0n5V.rar (993.84 KB) [原创]贪吃蛇由Consule到MFC

搜索更多相关主题的帖子: MFC Consule 贪吃 
2006-08-24 20:42
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
不好意思哦,我用的不是VC6了,Visual Studio 2003

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-25 07:56
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
我试着改了下,发现了另外的问题。
的确,我注释了以后就只弹出一个了,但是我连着按几次,他就出现几个,不是模态对话框吗?怎么会这样?

还有,你说的注释是什么原因?为什么不用关联VK_F1和ID_HELP_DLG啊?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-25 08:18
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
呵呵,我把窗口改变性能能了,cs.style&=~WS_THICKFRAME;窗口不能改变大小,我之所以这样写,认为这种游戏要是可以改变大小就显得很丑了,所以图方便就直接这样写了

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-25 09:28
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
哦,这个我忘记修改了,谢谢,我再改个
cs.style&=~WS_MAXIMIZEBOX;

[此贴子已经被作者于2006-8-25 9:45:37编辑过]


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-25 09:42
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
我又加了点东西,一个界面和一个设置速度的功能

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-25 19:10
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
谢谢夸奖,我还很菜,我昨天就纳闷,为什么我把SetTimer改成速度1ms还是那么慢,后来想了下,才记起来,我的ondraw中的SetBkBitmap(用图象重新覆盖)这个函数中每次都加载了一次图片,浪费了时间,所以改了下(加了两个成员变量m_rect,m_brush):
void CMyMenuView::SetBkBitmap(CDC* pDC,UINT nFlags)
{
    static int j=0;
    if(j==0)
    {
        CBitmap bmp;
        bmp.LoadBitmap(nFlags);
        m_brush.CreatePatternBrush(&bmp);
        GetWindowRect(&m_rect);
        m_rect.top=0;
        m_rect.left=0;
        j++;
    }
    pDC->FillRect(&m_rect,&m_brush);
}
结果一下快了不少,我只能玩50ms的了。(一样还是比较快)。

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-26 15:35
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
我又加了个时间显示,还有生命值显示 以及 设置的功能

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-28 14:01
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
我暂时不修改bug了,这个程序有几个bug,我修改以后还剩下一个没解决。

就是在那个OnTimer里的
else
{
...
if(..<..)
{
...
}
else
{...}
...

}
这个地方有问题,大家可以设置生命值,由于我初始化时life为1,显示的生命设置的初始值却为3,所以大家选择一下再开始就会发现问题(死一次之后继续按F4)

前面CMainFrame里的OnPaint()里最后的那个create语句改成:
if (m_progress.m_hWnd==NULL)
{
m_progress.Create(WS_CHILD | WS_VISIBLE | PBS_SMOOTH,rect,&m_wndStatusBar,123);
}
else
{
m_progress.MoveWindow(&rect);
}
关键就是我前面说的死了一次以后继续开始,就有问题

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-08-29 08:55
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

我没有修改以前的bug了,找得麻烦。

把之前的可用的部分copy过来了点,免得又重新写算法,现在的这个应该看起来舒服点,先前的太乱了。


运行程序:
GiGpl4NW.rar (1013.46 KB)

[此贴子已经被作者于2006-9-3 11:21:57编辑过]



v8J7D7M2.rar (1013 KB) [原创]贪吃蛇由Consule到MFC



YxXm6mYh.rar (1.96 MB) [原创]贪吃蛇由Consule到MFC



U6Luuk1Z.rar (997.75 KB)

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-02 22:11
快速回复:[原创]贪吃蛇由Consule到MFC
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026539 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved