游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2250|回复: 4

帮我找bug! 谢谢啦!

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-7-4 17:19:00 | 显示全部楼层 |阅读模式
在文件lc.cpp里,我觉得是这段有问题
    // See if the light cycle collided with its own trail
    RECT rcTmpTrail;
    if (g_iTrailLen > 2) // Must have steered at least once
    {
      for (int j = 0; j < g_iTrailLen - 2; j++)
      {
        rcTmpTrail.left = min(g_ptCycleTrail[j].x, g_ptCycleTrail[j + 1].x) - 1;
        rcTmpTrail.right = max(g_ptCycleTrail[j].x, g_ptCycleTrail[j + 1].x) + 1;
        rcTmpTrail.top = min(g_ptCycleTrail[j].y, g_ptCycleTrail[j + 1].y) - 1;
        rcTmpTrail.bottom = max(g_ptCycleTrail[j].y, g_ptCycleTrail[j + 1].y) + 1;
        if (PtInRect(&rcTmpTrail, g_ptCycleTrail[g_iTrailLen - 1]) != 0)
        {
          // The game is over
          EndGame(1 - i);
          return;
        }
      }
    }
并附上源代码!
bug是游戏一运行就结束了!是逻辑发生错误! [em1]

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20515
发表于 2012-7-4 19:50:00 | 显示全部楼层

Re:帮我找bug! 谢谢啦!

看样子就像下标越界的问题。。

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2012-7-4 20:20:00 | 显示全部楼层

Re:帮我找bug! 谢谢啦!

越界会提示错误!!!这不可能啊

11

主题

95

帖子

658

积分

高级会员

Rank: 4

积分
658
发表于 2012-7-6 16:05:00 | 显示全部楼层

Re:帮我找bug! 谢谢啦!

单步到哪里

4

主题

178

帖子

180

积分

注册会员

Rank: 2

积分
180
发表于 2012-7-19 17:25:00 | 显示全部楼层

Re:帮我找bug! 谢谢啦!

其实这种错误在endgame那里打个断点就看出来了.....

在UpdateCycle()函数
g_pCyclePos.y = g_pCyclePos.y + g_ptCycleSpeed.y;
这里出了问题,出现负数.导致后面的范围判断里面结束游戏了
if (g_pCyclePos.x < 0 ||
      g_pCyclePos.x > (500 - g_pCycle[0]->GetWidth()) ||
      g_pCyclePos.y < 0 ||
      g_pCyclePos.y > (430 - g_pCycle[0]->GetHeight()))
    {
      // The game is over
      EndGame(1 - i);
      return;
    }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-11 03:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表