当前位置: 首页 > 知识库问答 >
问题:

从一个while循环跳回到另一个while循环

双浩涆
2023-03-14

我的程序中有两个while循环。第一个是针对游戏菜单的,第二个是针对实际游戏的。如果“Gameover-Event”发生,我想返回菜单。我不知道该怎么做。

 # Keep window running (Infinite-Loop)
    running = 1
    
    # Menu-loop
    while running == 1:

        # Start game
        if event.key == pygame.K_SPACE:
             running = 2
    
        # Game While-Loop (Everything that takes place during the game is inside here)
        while running == 2:
    
            # Show gameover-messages when event occurs
            if gameover:
                obstacle_list.clear()
                speed_up = 0
                speed_down = 0
                show_gameover(go_textX, go_textY)
                show_gameover_message()

共有2个答案

谷梁昊空
2023-03-14

如何做到这一点,这里是:

running=1
while running == 1:
    # Do stuff as you want
   
    if event.key == pygame.K_SPACE:
         running = 2

    while running==2:
        # Do stuff for running the Game
        if event.key == 'exit': # Here you can take input any key for exit the game
            running = 1
          
东方建修
2023-03-14

这样做的一种方法是使用函数而不是嵌套while循环:

def game_loop():
    # do stuff

    while True:
        if gameover:
            # do other stuff

            return # returns back to main_loop

def main_loop():
    running = 1

    while running == 1:
        if event.key == pygame.K_SPACE:
            game_loop()

main_loop() # simply call the main_loop function to start window

设置running=1也会起作用,但是使用函数可以使事情更清晰、更有条理。

 类似资料:
  • 只要给定条件为真,Perl编程语言中的while循环语句就会重复执行目标语句。 语法 (Syntax) Perl编程语言中while循环的语法是 - while(condition) { statement(s); } 这里的statement(s)可以是单个陈述或一个陈述块。 condition可以是任何表达。 当条件为真时,循环迭代。 当条件变为假时,程序控制将立即传递到循环之后的行。

  • 编写程序时,您可能会遇到需要反复执行操作的情况。 在这种情况下,您需要编写循环语句以减少行数。 JavaScript支持所有必要的循环,以减轻编程压力。 while循环 JavaScript中最基本的循环是while循环,将在本章中讨论。 while循环的目的是只要expression为真,就重复执行语句或代码块。 表达式变为false,循环终止。 流程图 while loop流程图如下 - 语法

  • 只要给定条件为真,Objective-C编程语言中的while循环语句就会重复执行目标语句。 语法 (Syntax) Objective-C编程语言中while循环的语法是 - while(condition) { statement(s); } 这里, statement(s)可以是单个语句或语句块。 condition可以是任何表达式,true是任何非零值。 当条件为真时,循环迭代。

  • While循环一次又一次地执行相同的代码,直到满足停止条件。 语法 (Syntax) 在R中创建while循环的基本语法是 - while (test_expression) { statement } 流程图 (Flow Diagram) 这里while循环的关键点是循环可能永远不会运行。 当测试条件并且结果为假时,将跳过循环体并且将执行while循环之后的第一个语句。 例子 (Exam

  • 在给定条件为真时重复语句或语句组。 它在执行循环体之前测试条件。 只要给定条件为真, while循环语句就会重复执行目标语句。 语法 (Syntax) 以下是while循环的语法。 while(condition){ statement(s); } 这里, statement(s)可以是单个语句或语句块。 condition可以是任何表达式,true是任何非零值。 当条件为真时,循环迭代。

  • 只要给定条件为真,Swift 4编程语言中的while循环语句就会重复执行目标语句。 语法 (Syntax) Swift 4编程语言中while循环的语法是 - while condition { statement(s) } 这里的statement(s)可以是单个陈述或一个陈述块。 condition可以是任何表达。 当条件为真时,循环迭代。 当条件变为假时,程序控制传递到紧接循环之后