Xcode中的预期表达式错误

时间:2015-02-18 07:15:37

标签: c++ xcode

我正在为游戏制作一个移动功能,我得到一个预期的表达错误我无法弄清楚为什么,这似乎是合法的我做了。

void Ant::move()
{
int dir=rand()%4;

if (dir==0)
{
    if ((y>0) && (world->getAt(x,y-1)==NULL))
    {
        world->setAt(x,y-1,world->getAt(x,y));
        world->setAt(x,y,NULL);
        y++;
    }
}
else
{
    if ((x<WORLDSIZE-1) && (world->getAt(x+1,y)==NULL))
    {
        world->setAt(x-1,y,world->getAt(x,y));
        world->setAt(x,y,NULL);
        x--;
    }
}
else
{
    if ((x<WORLDSIZE-1) && (world-getAt(x+1,y)==NULL))
    {
        world->setAt(x+1,y,world->getAt(x,y));
        world->setAt(x,y,NULL);
        x++;
    }
}
}

问题是第二次打电话。

2 个答案:

答案 0 :(得分:1)

我认为问题是:

world-getAt(x+1,y)==NULL

您忘记了&gt;

world->getAt(x+1,y)==NULL

在第二个if语句中。

答案 1 :(得分:0)

在第一个其他人之后缺少if。你现在有

if {
    ...
} else { // here you need an if - or revise the structure

} else {

}

例如尝试......

void Ant::move()
{
    int dir=rand()%4;

    if (dir==0)
    {
        if ((y>0) && (world->getAt(x,y-1)==NULL))
        {
            world->setAt(x,y-1,world->getAt(x,y));
            world->setAt(x,y,NULL);
            y++;
        } else
        if ((x<WORLDSIZE-1) && (world->getAt(x+1,y)==NULL))
        {
            world->setAt(x-1,y,world->getAt(x,y));
            world->setAt(x,y,NULL);
            x--;
        } else
        if ((x<WORLDSIZE-1) && (world-getAt(x+1,y)==NULL))
        {
            world->setAt(x+1,y,world->getAt(x,y));
            world->setAt(x,y,NULL);
            x++;
        }
    }
}