首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同时循环的问题

同时循环的问题
EN

Stack Overflow用户
提问于 2018-04-10 12:46:57
回答 1查看 161关注 0票数 3

我正在做一个项目,这个项目正在建立一个数字化的棋盘游戏版本,而我的with循环有一个问题,而这个循环并不像我想象的那样。

基本上,如果--如果玩家手里还剩下1石头,而下一个坑是而不是空的,他们就会捡起下一个坑中的石头,然后继续这样做,直到下一个坑是空的。

现在,我的代码继续,而--下一个坑是空的,而--当 one stone仍然在他们手中时,如果它不是空的,它就不会捡起下一个坑中的石头,它只是添加一个,直到下一个坑是空的。

所以我的代码就快到了,只是不太好。因此,我正在寻找一些帮助来改进当前的代码(在需要工作的代码之上有一个很大的注释)。

如果解释不好,请告诉我,我会尽力重写的。

干杯

代码语言:javascript
运行
复制
while(hand == 1 && pit.next.stones != 0 && pit.next.pit == false) {
    int stones = pit.next.stones;
    for(int i = stones; i >= 1; i--) {
        hand++;
    }
    while(Hand >= 1 && pit.next.stones != 0) {
        hand--;
        addPieces(pit.next);
        pit = pit.next;
    }
} 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-10 13:38:13

而不是有多个嵌套循环。你可能应该更新手中的石头和坑中的石头,让主回路继续正常运行,因为主循环只是游戏的主要逻辑循环:抓取石头,掉进坑里,抓更多的石头,然后重复?,利润!

例:

而不是:

代码语言:javascript
运行
复制
while(hand >= 1 && pit.next != null) {
    // ...
    while (hand == 1 && pit.next.stones != 0 && pit.next.pit == false) {
        int stones = pit.next.stones;
        for (int i = stones; i >= 1; i--) {
            hand++;
        }
        while (hand >= 1 && pit.next.stones != 0) {
            hand--;
            addPieces(pit.next);
            pit = pit.next;
        }
    }

做以下事情:

代码语言:javascript
运行
复制
while(hand >= 1 && pit.next != null) {
    // ...
    if(hand == 1 && pit.next.stones > 0 && pit.next.pit == false) {
        // update stones in hand
        hand += pit.next;
        // update stones in pit
        pit.next.stones = 0;
    }
    // let main loop continue
}

(注意:我不是百分之百地遵守你要遵守的规则,我只是试着按照你说的去做)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49754126

复制
相关文章

相似问题

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