0

簡単な質問、

私はプログラミングにかなり慣れていないので、問題に遭遇しました。私はゲームを作っており、すべてのラウンドの終わりにそのラウンド中に最高のスコアを持つ勝者が出ています。私はそのプレーヤーのプレーヤービューとラベルを非表示にしますが、ケース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 が説明によって表されるものである場合、LabelFour が最初のラウンドに勝った場合、4 人のプレーヤーのスイッチは..

 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;

私が見つけた唯一の方法は、ifステートメントを実行して各ラベルが非表示になっているかどうかを確認し、それに応じて設定することですが、非常に非効率的です。サイコロゲームで、3回振ったら順番が1つ上がります。

前もって感謝します!

4

2 に答える 2

0

何が必要か正確にはわかりませんが、各プレイヤーにフラグを設定できます

すなわち

player1.isPlaying = YES;

現在アクティブなプレーヤーをループします。

于 2013-08-23T05:40:45.317 に答える