我正在开展一个包含10个问题和答案的项目。我正在使用touchesbegan,touchesmoved和touchesended方法。问题出现在一个标签中,并且答案在屏幕中有10个不同的标签。用户应该匹配它们,基本上这就是游戏。在touchesended方法中,我正在用if语句验证问题的结果和答案的位置,所以试着理解它是否是拖到正确位置的正确答案。
所以,我需要问这个问题;当用户给出正确答案时,问题应该改变。我在一个NSMutableArray上提出了问题,它为每个开头都有不同的随机顺序。如何在同一标签和文本中显示数组的其他对象。 (它应该是文本,因为之后还有另一个数字)以下是一些代码的示例:
arr = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10", nil];
srandom(time(NULL));
NSUInteger count = [arr count];
for (NSUInteger i = 0; i < count; ++i) {
int nElements = count - i;
int n = (random() % nElements) + i;
[arr exchangeObjectAtIndex: i withObjectAtIndex:n];
}
Question.text = [NSString stringWithFormat:@"%ix1=", [[arr objectAtIndex:(random()%9)+1] intValue]];
在问题解决后,我需要带一个其他数字的数组。也不应该再次出现使用的数字。
有人可以帮忙吗?
答案 0 :(得分:0)
而不是
Question.text = [NSString stringWithFormat:@"%ix1=", [[arr objectAtIndex:(random()%9)+1] intValue]];
您需要先获取随机索引编号
int index = (random()%9) + 1;
然后
Question.text = [NSString stringWithFormat:@"%ix1=", [[arr objectAtIndex:index] intValue]];
接下来,您可以使用index
删除NSMutableArray
[arr removeObjectAtIndex:index];