Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
大2游戏控制(控制游戏流程) 我在C++中创建了一个游戏2大游戏,我已经创建了一副52张牌,四个手物品,一个经销商对象,将洗牌并把这些牌处理到手部对象。这部分已经完成。现在,钻石为3的玩家将在开始时开始游戏。然后轮到玩家2、玩家3、玩家4。但如果玩家2拥有它,那么将由玩家2开始游戏,轮到玩家3,玩家4和玩家1_C++ - Fatal编程技术网

大2游戏控制(控制游戏流程) 我在C++中创建了一个游戏2大游戏,我已经创建了一副52张牌,四个手物品,一个经销商对象,将洗牌并把这些牌处理到手部对象。这部分已经完成。现在,钻石为3的玩家将在开始时开始游戏。然后轮到玩家2、玩家3、玩家4。但如果玩家2拥有它,那么将由玩家2开始游戏,轮到玩家3,玩家4和玩家1

大2游戏控制(控制游戏流程) 我在C++中创建了一个游戏2大游戏,我已经创建了一副52张牌,四个手物品,一个经销商对象,将洗牌并把这些牌处理到手部对象。这部分已经完成。现在,钻石为3的玩家将在开始时开始游戏。然后轮到玩家2、玩家3、玩家4。但如果玩家2拥有它,那么将由玩家2开始游戏,轮到玩家3,玩家4和玩家1,c++,C++,有很多种可能性,因为每轮比赛后都会有一名新球员获胜。我无法找到一种方法使循环和再次使用代码,直到手中的牌数为0,这是玩家获胜的条件。对于四个玩家来说,控制这个流量是非常困难的,如果是对于两个玩家来说,这将是很容易的,但是4个玩家意味着很多情况下这些玩家都是对象类型的。 请给我一些想法,以实现大2的游戏流程,因为如果我们完成这一部分,我们将能够完成游戏 注意:该玩家的当前牌局与前一玩家的牌匹配 如果我错了,请原谅,但您是在问如何跟踪每轮玩家的顺序,对吗 如果是这种情况,听起来你应该以逆时针顺序将玩

有很多种可能性,因为每轮比赛后都会有一名新球员获胜。我无法找到一种方法使循环和再次使用代码,直到手中的牌数为0,这是玩家获胜的条件。对于四个玩家来说,控制这个流量是非常困难的,如果是对于两个玩家来说,这将是很容易的,但是4个玩家意味着很多情况下这些玩家都是对象类型的。 请给我一些想法,以实现大2的游戏流程,因为如果我们完成这一部分,我们将能够完成游戏


注意:该玩家的当前牌局与前一玩家的牌匹配

如果我错了,请原谅,但您是在问如何跟踪每轮玩家的顺序,对吗

如果是这种情况,听起来你应该以逆时针顺序将玩家对象存储在一个数组中。现在你只需要追踪最后一个玩家作为索引,下一个玩家应该是下一个索引。我假设你的卡片是以整数的形式存储的,从低到高,但这是另一种猜测。根据规则,钻石、红桃、梅花、黑桃的价格最低。对于每一套衣服,3是最低的,2是最高的,在中音标准“3,4,5,…J,Q,K,A,2”中的所有东西


我不知道为什么我要叫那个索引
startPlayer
它应该是
playerIndex
或者什么的。

“请不要声明这个问题不清楚,因为我真的需要答案。”。这个问题一点也不清楚。您可能应该发布一些特定于您遇到的问题的代码。此外,永远不要告诉别人你正在寻求“不要做”某事的帮助。模运算:
next\u player\u index=(next\u player\u index+1)%TOTAL\u PLAYERS或转到另一个方向:
下一个玩家指数=(下一个玩家指数+玩家总数-1)%三元运算符:
next\u player\u index=next\u player\u index+1>玩家总数-1?0:下一个玩家索引+1或转到另一个方向:
下一个玩家索引=下一个玩家索引-1<0?玩家总数-1:下一个玩家指数+1void startRound(void)
{
    // six cards created during deal
    if(kitty.hasThree())
    {
        int lowestCard = -1;
        for(int i = 0; i < 4; i++)
        {
            int playerLowestCard = players[i].getLowestCard();
            if(playerLowestCard < lowestCard)
            {
                startPlayer = i;
                lowestCard = playerLowestCard;
            }
        }
    }
    else
    {
        for(int i = 0; i < 4; i++)
        {
            if(players[i].hasThree())
            {
                startPlayer = i;
                break;
            }
        }
    }
}
void goToNextPlayer(void) {
    startPlayer++;
    if(startPlayer >= 4) {
        startPlayer = 0;
    }
}