我是一个初学者,我正尝试使用SplashKit的Library用C ++编写一个简单的2D太空游戏。
我正在尝试使用IF进行选择循环-否则检查是否已访问过该行星。
但是,我认为它太乱而且不好。任何使它更简单的帮助都将是不错的:)


        // Draws the Scoreboard and check if the planet is visited or not
        if ( planet[0].visited == true)
        {
            draw_hud(player, planet[0]);
        }
        else if ( planet[1]. visited == true)
        {
            draw_hud(player, planet[1]);
        }
        else if ( planet[2]. visited == true)
        {
            draw_hud(player, planet[2]);
        }
        else if ( planet[3]. visited == true)
        {
            draw_hud(player, planet[3]);
        }
        else if ( planet[4]. visited == true)
        {
            draw_hud(player, planet[4]);
        }
        else if ( planet[5]. visited == true)
        {
            draw_hud(player, planet[5]);
        }
        else if ( planet[6]. visited == true)
        {
            draw_hud(player, planet[6]);
        }
        else if ( planet[7]. visited == true)
        {
            draw_hud(player, planet[7]);
        }
        else if ( planet[8]. visited == true)
        {
            draw_hud(player, planet[8]);
        }
        else
        {
            draw_hud(player, planet[9]);
        }

最佳答案

查找for loops
您无需指定== true。您可以简单地忽略它,并在您的脑海中像“如果这是真的”那样阅读它。 (对于false,如果(!planet [i] .visited)),您会这样做。


整个代码块变成:

for (int i=0; i<10; i++) {
    if (planet[i].visited) {
        draw_hud(player,planet[i]);
    }
}


还请查看codereview堆栈交换,它更专注于这些类型的问题。

关于c++ - 凌乱的选择循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58072495/

10-11 14:37