首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >洪水填埋和堆叠执行不起作用

洪水填埋和堆叠执行不起作用
EN

Stack Overflow用户
提问于 2015-04-27 17:51:49
回答 1查看 92关注 0票数 1

所以我有两个结构一起工作。这是一个像泡沫爆炸游戏一样工作的游戏。

当一个气球在网格中弹出时,我想使用洪水填充来删除气球,然后让它使用堆栈,这样我以后就可以撤销这个过程了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 18:29:50

使用预先大小的堆栈数组来保持简单。当您想要返回数据时,只需调用pop_balloon,直到堆栈为空(使用该函数)。

下面的代码是未经测试的,并且是从稀薄的空气中提取出来的,但是它应该表明您需要:

代码语言:javascript
运行
复制
Balloon balloonStack[MAX_NUM_BALLOONS_POSSBILE];
int balloonStackIndex = 0;

bool balloonStackIsEmpty()
{
  return balloonStackIndex == 0;
}

void balloonPush(Balloon balloon)
{
  assert(balloonStackIndex < MAX_NUM_BALLOONS_POSSBILE);
  balloonStack[balloonStackIndex++] = balloon;
}

Balloon balloonPop()
{
  assert(balloonStackIndex > 0);
  return balloonStack[balloonStackIndex--]
}

int balloon_pop(BBoardPtr b, int r, int c) {

    if(b->board[r][c].color != None /*&& r >= 0 && c >= 0 && r rows && c cols*/) {
        return 0;
    }

    balloonPush(b->board[r][c]);
    b->board[r][c].color = None;
    b->board[r][c].is_popped = 1;
    //...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29902686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档