card highCard ()
{
card highest_card;
int number=0;
for (int i =0; i <5; i++)
{
if (_cards[i].getRankValue > number)
{
number = _cards[i].getRankValue;
highest_card = _cards[i];
}
return highest_card;
}
}
我不确定我做错了什么,或者更像是我在做什么。我想在扑克游戏中找到我手中的最高牌(包括套装和等级)。
答案 0 :(得分:5)
除了你太早回来之外,你看起来很完美。你想看看手中的所有牌后返回。正如你现在所做的那样,你的函数只会在返回之前查看_cards [0]。
card highCard ()
{
card highest_card;
int number=0;
for (int i =0; i <5; i++)
{
if (_cards[i].getRankValue > number)
{
number = _cards[i].getRankValue;
highest_card = _cards[i];
}
}
return highest_card;
}
答案 1 :(得分:5)
你正在for循环中返回卡片。基本上,代码在i = 0运行循环,然后在它之后立即返回 - 它在i为1或更高时从不运行代码。在for循环之后放置返回行,以确保程序在返回最高卡之前运行所有卡。