我有一个NSArray与卡对象具有不同的值,让我们说1,2,3,5,8,10。我想确定一张卡是否可播放,我用播放器他卡对象的属性,这显然也具有价值属性。规则是,当一张卡片可以播放时(这个例子中只有卡片1可以播放),只有不同值的卡片也可以播放。所以在上面的例子中,卡号2也是可播放的,其余的不是。要清楚,排序可能不同,并不总是上升或下降。通过NSArray迭代并计算差异
我想要的是遍历playerCards数组,并将数组中的所有其他卡片进行比较,当差值为1时,将卡片的可玩属性设置为IsPlayable,然后再次循环,直到确定所有可玩卡片。
First loop attempt (card 1 is playable):
2-1 = 1 card value 2 is playable
3-1 = 2 card value 3 is not playable
5-1 = 4 card value 5 is not playable
8-1 = 7 card value 8 is not playable
10-1 = 9 card value 10 is not playable
Second loop attempt (card 2 is now also playable):
3-2 = 1 card value 3 is playable
5-2 = 3 card value 5 is not playable
8-2 = 6 card value 8 is not playable
10-2 = 8 card value 10 is not playable
Third loop attempt (card 3 is now also playable):
5-3 = 2 card value 5 is not playable
8-3 = 5 card value 8 is not playable
10-3 = 7 card value 10 is not playable
Stop loop.
我不知道该怎么去。这是我到目前为止,但我迷路了;
for(int x = 0; x < [playerCards count]; x++)
{
Card *playerCard = [playerCards objectAtIndex:x];
if(playerCard.playable == IsPlayable){
something like playerCard.value-otherplayerCard.value ???}
你们能帮忙吗?
谢谢!
如果您只是发布作业的原文,会更容易理解。 –