【问题标题】:ignoring "collision" in a pacman game在吃豆人游戏中忽略“碰撞”
【发布时间】:2015-05-04 00:13:27
【问题描述】:

我的像素 pacman 差不多完成了 我试图弄清楚怪物应该如何避免与通电和增能药丸的碰撞 如果你运行游戏,你会看到代表的点 黄色是吃豆子 红色是鬼 紫色是简单的药丸 绿色是能量丸(如果你吃它们,你可以吃鬼)。 我的问题是我很难让怪物不会“吃掉”红点或绿点。这是我的主要结构

struct info {
        int curX;
        int curY;
        char color;
        int alive;
    };

每一个怪物的动作也是这样表示的

if ( rand1 == 1){   //random up
                        if(infos[i].curY > 50){
                            for (j = 0 ;j < 18 ; j++){
                                set_board(infos[i].curX,infos[i].curY,0);                               
                                set_board(infos[i].curX,--infos[i].curY,4);

如果怪物与像素位于同一位置,它将覆盖它(我不想发生的事情)

【问题讨论】:

    标签: c assembly pixel pacman


    【解决方案1】:

    看来您的问题是显示问题,而不是游戏逻辑问题。据我了解,当鬼越过颗粒时,它们就会被抹去。似乎这里的答案只是在幽灵飞过它们之后重新绘制颗粒。你称之为像素吃豆人:这是否意味着每个实体都显示为一个像素?如果是这样,解决方案就是在重影移动到下一个位置时将像素恢复为原始颜色而不是黑色(我猜这是您在没有可显示内容时选择的颜色)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 2011-02-28
      • 1970-01-01
      相关资源
      最近更新 更多