基于有多少玩家在游戏中留下

问题描述:

快速的问题,基于有多少玩家在游戏中留下

我是相当新的编程,并遇到了一个问题如何更新我的标签子视图。我在制作一款游戏,在每一轮结束时,在这一轮中获得最高分的获胜者已经出局,我隐藏了该玩家的playerview和标签,但需要弄清楚如何制作一种方法,以便在我的情况4( self.players)隐藏的标签和播放器视图未设置,并且转向变量重新排列,以相应于我从开关中取出的标签。

switch (self.players) { 
    case 5: 
     switch (self.turn) { 
      case 1: 
       explanationLabel.text = [NSString stringWithFormat:@"%d",score]; 
       break; 
      case 2: 
       explanationLabelTwo.text = [NSString stringWithFormat:@"%d",score]; 
       break; 
      case 3: 
       explanationLabelThree.text = [NSString stringWithFormat:@"%d",score]; 
       break; 
      case 4: 
       explanationLabelFour.text = [NSString stringWithFormat:@"%d",score]; 
       break; 
      case 5: 
       explanationLabelFive.text = [NSString stringWithFormat:@"%d",score]; 
       break; 

例如,如果playerFour什么是explanationLabelFour代表赢了第一回合四名球员的开关应该..

switch (self.players) { 
case 4: 
    switch (self.turn) { 
     case 1: 
      explanationLabel.text = [NSString stringWithFormat:@"%d",score]; 
      break; 
     case 2: 
      explanationLabelTwo.text = [NSString stringWithFormat:@"%d",score]; 
      break; 
     case 3: 
      explanationLabelThree.text = [NSString stringWithFormat:@"%d",score]; 
      break; 
     case 4: 
      explanationLabelFive.text = [NSString stringWithFormat:@"%d",score]; 
      break; 

的唯一途径,我发现,使工作是做如果要查看每个标签是否隐藏,然后相应地设置它们,但它的超级低效。这是一个骰子游戏,在三次滚动之后,这个转折点将增加一个。

在此先感谢!

给每个explanationLabel一个标签,相对于你的self.turn

例如,

explanationLabel.tag = 1; 
explanationLabelTwo.tag = 2; 
explanationLabelThree.tag = 3; 
. 
. 
explanationLabelN.tag = N; 

现在,你调用一个方法命名类似,hideLabels

- (void) hideLabels { 
    explanationLabel.hidden = YES; 
    explanationLabelTwo.hidden = YES; 
    explanationLabelThree.hidden = YES; 
} 

您必须在外部开关箱呼叫前致电hideLabels

然后在箱子里面,使用标签

switch (self.players) { 
    case 5: 
     UILabel *tempExplanationLabel = (UILabel *)[self.view viewWithTag:self.turn]; 
     tempExplanationLabel.hidden = NO; 
} 

高达这个,你会仅显示标签,电流又是,如果你愿意,你也可以改变框架为特定标签获得标签对象更好的结果可视性。你可以通过explanationLabel.frametempExplanationLabel.frame来做到这一点。

不知道我理解你需要究竟是什么,但你可以设置一个标志为每个玩家

player1.isPlaying = YES; 

遍历当前的现役球员。