| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1925 人关注过本帖
标题:c语言小贪吃蛇无故的小概率bug烦死我了,谁能给看看!谢谢!
只看楼主 加入收藏
h781458175
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-2-7
结帖率:55.56%
收藏
已结贴  问题点数:20 回复次数:20 
c语言小贪吃蛇无故的小概率bug烦死我了,谁能给看看!谢谢!
    本人是一个c语言初学者,一天突发奇想就想作一个贪吃蛇,经过好长时间,我竟然做出来了,我在完成主体逻辑后就开始往里面填加其他功能,但现在我发现一个很不可思议的问题,应该说是两个:一、蛇竟然有一次穿出墙了!!!二、有时个画面上出现两个食物(不知是不是因为食物的产生函数而产生的,反正是除了蛇身之外有两个点);最火的是它们出现一两次之后就不再出现了,搞得我想修正也觉得线索太少了。
    至于网上说的什么,内存监测之类的查错方法,我也不会呀,对于这种小概率的bug到底该如何是好啊,感觉很无力,想着我一个初学者就受这样的打击,不知以后做大项目该怎么办啊!现在我把源码贴出来,妄图有哪位大侠能有耐心看完我的并不规范的代码,替我找出我的小bug在哪啊?我实在是没办法了啊,吃不下睡不好的!
    我源码是在winTc下编译的,用到直接写屏!平时运行没有任何错误(我想着也不应该有什么错啊!
snake_v1.1(win_tc130405).rar (4.14 KB)

    或者可谁能提供一个查错的其他方法,我现在基本上只会死想,死看代码!
搜索更多相关主题的帖子: 突发奇想 贪吃蛇 
2013-04-05 15:14
h781458175
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-2-7
收藏
得分:0 
第二个问题应该是:见过它同时出现过两个食物,但按我的逻辑只可能一次吃完上一子后调一次生成食物函数,而第调一次生成食物函数只会产生一个食物!
2013-04-05 15:18
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:0 
楼主代码格式上还算规范啊 挺整洁的啊 看来楼主是谦虚了
初学就能搞出这么个大东西 很不错啦
我来学习学习

人生是一场错过 愿你别蹉跎
2013-04-05 18:03
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:0 

俺先下载学习下哈
2013-04-05 19:26
h781458175
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-2-7
收藏
得分:0 
刚才又一次跑出墙了,我都抓狂了,难道这辈子也不能知道原因了!!
2013-04-05 21:04
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
额,far指针,不会,额


[fly]存在即是合理[/fly]
2013-04-05 23:08
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:0 
楼主真是太谦虚了,哈哈。我还真没搞过这样的呢?今年要是暑假没打工,我就做几个试试。nonstandard extension used : 'far' is an obsolete keyword什么意思

Maybe
2013-04-06 08:34
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:0 
这是编译的结果:
D:\C++作业\MFC文件\ccccc\ccccc.cpp(22) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(22) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(29) : error C2065: 'clrscr' : undeclared identifier
D:\C++作业\MFC文件\ccccc\ccccc.cpp(33) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(33) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(35) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(46) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(46) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(46) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(46) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(54) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(54) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(54) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(67) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(69) : warning C4305: '=' : truncation from 'const int' to 'char'
D:\C++作业\MFC文件\ccccc\ccccc.cpp(69) : warning C4309: '=' : truncation of constant value
D:\C++作业\MFC文件\ccccc\ccccc.cpp(74) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(137) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(177) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(177) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(222) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(231) : warning C4018: '<' : signed/unsigned mismatch
D:\C++作业\MFC文件\ccccc\ccccc.cpp(241) : warning C4018: '<' : signed/unsigned mismatch
D:\C++作业\MFC文件\ccccc\ccccc.cpp(247) : warning C4305: '=' : truncation from 'const int' to 'char'
D:\C++作业\MFC文件\ccccc\ccccc.cpp(247) : warning C4309: '=' : truncation of constant value
D:\C++作业\MFC文件\ccccc\ccccc.cpp(252) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(255) : warning C4018: '<' : signed/unsigned mismatch
D:\C++作业\MFC文件\ccccc\ccccc.cpp(268) : warning C4018: '<' : signed/unsigned mismatch
D:\C++作业\MFC文件\ccccc\ccccc.cpp(297) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(297) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(311) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(348) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(451) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(456) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(465) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(485) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(519) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(552) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(552) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(552) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(552) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(553) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(553) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
D:\C++作业\MFC文件\ccccc\ccccc.cpp(558) : warning C4018: '<' : signed/unsigned mismatch
D:\C++作业\MFC文件\ccccc\ccccc.cpp(564) : warning C4018: '<' : signed/unsigned mismatch
D:\C++作业\MFC文件\ccccc\ccccc.cpp(610) : error C2065: 'delay' : undeclared identifier
执行 cl.exe 时出错.

ccccc.exe - 1 error(s), 0 warning(s)

Maybe
2013-04-06 08:44
h781458175
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-2-7
收藏
得分:0 
我这个必须在wintc下,用vc是编译不了的,far指针在vc下是不认的;必须在wintc下。。。上面好像已经说了


不过昨晚我已经搞出穿墙的问题了,穿墙只会在蛇紧贴墙走时再按朝墙的方向键时会出现,原因是因为变换方向的时候,我少写了一个判断,会直接覆盖墙的标记,而使蛇在碰到墙时不会报告已死,一旦蛇头过了墙其他的蛇身没有判断生死的功能(我只判断蛇头是否撞上墙或自己),所以就直接到墙外去运行了,加上那一句判断就好了。

不过出现双食物的那个问题仍然没有解决啊,昨晚双食物问题又出现了它有生以来的第三次,我可以把图扒上来
图片附件: 游客没有浏览图片的权限,请 登录注册

经我分析上面的这个#不是由生成食物的函数产生的,因为我后来限定生成食物的函数不会出现#食物,所以我想它应该是从蛇身上“掉”下来的,可什么时候掉的,怎么“掉”的就那么低概率,我还是不知道啊!


希望大家多多关注,高手帮忙啊,这会不会是一个很隐匿的bug,不找出来我很受伤啊!!!!!!!!!!!!
2013-04-06 09:20
h781458175
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2011-2-7
收藏
得分:0 
回复 8楼 邓士林
必须在winTC下编译!
2013-04-06 09:23
快速回复:c语言小贪吃蛇无故的小概率bug烦死我了,谁能给看看!谢谢!
数据加载中...
 
   



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

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