【问题标题】:How would you write this objective-c loop in php? [closed]你将如何在 php 中编写这个 Objective-C 循环? [关闭]
【发布时间】:2012-03-19 06:24:27
【问题描述】:

我正在尝试找出谁是回合制扑克游戏中的下一个玩家。在目标 c 中没有问题,但由于我是 php 新手,我不太确定如何编写这个循环:

    for (int i = 0; i < [match.participants count]; i++) 
    {
         nextParticipant = [participantsArray objectAtIndex:((currentIndex + 1 + i) % [match.participants count])];

    if (nextParticipant.matchOutcome != GKTurnBasedMatchOutcomeQuit)
    {
        //NSLog(@"isn't quit %@", nextParticipant);
        nextPlayer = nextParticipant; 
        break;
    } 
    else
    {
        //NSLog(@"Player not active, continue the for loop to get the next player");
    }
}

所以循环遍历数组中的所有参与者。 currentIndex 是前一个玩家所在的索引。

所以在每一回合之后,玩家将他的信息连同他的索引一起发送到服务器。因此,如果玩家 4 轮到他,脚本应该将轮到玩家 5,但前提是他处于活动状态(他的状态设置为 4,见下文)

我可以通过以下方式从服务器获取活跃玩家:

    $query = "SELECT player1Status, player2Status, player3Status, player4Status,player5Status,player6Status WHERE match_id='$match_id'"; 

        while ($row = mysql_fetch_object($result)) {

    $player1Status = $row['player1Status'];
    $player2Status = $row['player2Status'];
    $player3Status = $row['player3Status'];
    $player4Status = $row['player4Status'];
    $player5Status = $row['player5Status'];
    $player6Status = $row['player6Status'];

}

我也有关于比赛的信息:

$numberOfPlayersInMatch
$currentPlayerIndex

我只是不知道如何以一种好的方式将它们组合在一起。非常感谢任何帮助。谢谢

【问题讨论】:

    标签: php mysql objective-c loops


    【解决方案1】:

    注意:这未经测试。

    你可以改变而不是把玩家状态放在$player1Status,$player2Status,把它放在一个数组中

    $playerStatus[] = $row['player1Status'];
    $playerStatus[] = $row['player2Status'];
    ... 
    
    
    for ($i = 0; $i < $numberOfPlayersInMatch; $i++) 
    {
       $nextParticipantStatus = $playerStatus[($currentPlayerIndex + 1) %  ($numberOfPlayersInMatch)] 
    
       if ($nextParticipantStatus != $GKTurnBasedMatchOutcomeQuit)
       {       
        $nextPlayerIndex = ($currentPlayerIndex + 1) % ($numberOfPlayersInMatch); 
        break;
       } 
    
    }
    

    $nextPlayerIndex 取值范围:0 - 5

    【讨论】:

      猜你喜欢
      • 2012-05-11
      • 1970-01-01
      • 2013-06-19
      • 2023-01-28
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多