第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Python 進行游戲 - 添加選項“重啟游戲”

使用 Python 進行游戲 - 添加選項“重啟游戲”

嗶嗶one 2022-06-14 10:00:43
我用 Pygame Zero 和 MU IDE 創(chuàng)建了一個小游戲。游戲結束后,應詢問用戶是否想再玩一次。如果他選擇是,游戲應該從頭開始。我知道我可以用一個 While 循環(huán)來做到這一點,但我不知道怎么做。我試圖插入一個while循環(huán)。在 while 循環(huán)中,游戲函數(shù)被調用,但它不起作用。我試過這個:play_again = raw_input("If you'd like to play again, please type 'yes'")while playagain == "yes"      draw()      place_banana()      on_mouse_down(pos)      update_time_left()....我知道這是不正確的,但我不知道如何正確地做from random import randint import timeimport pygameHEIGHT = 800WIDTH = 800score = 0 time_left = 10banana = Actor("banana")monkey = Actor("monkey")def draw():    screen.clear()    screen.fill("white")    banana.draw()    monkey.draw()    screen.draw.text("Number of bananas collected: " + str(score),      color = "black", topleft=(10,10))    screen.draw.text("Time: " + str(time_left), color = "black", topleft=(10,50))def place_banana():    banana.x = randint(125, 790)    banana.y = randint(186, 790)    monkey.x = 50    monkey.y = 740def on_mouse_down(pos):    global score    if banana.collidepoint(pos):         score = score + 1         place_banana() def update_time_left():    global time_left    if time_left:           time_left = time_left - 1    else:          screen.fill("pink")  # code is not executed        game_over() place_banana() clock.schedule_interval(update_time_left, 1.0)def game_over():    screen.fill("pink") # code is not executed    global time_left    message = ("Ende. Number of bananas collected")   # code is not   executed    time_left = 0    time.sleep(5.5)    quit()
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

一個肯定會阻止您的代碼運行的問題是您建議的 while 循環(huán)中所有四個函數(shù)末尾的冒號。冒號用于定義函數(shù)或 if/else 語句等,而不是用于執(zhí)行函數(shù)。


我不確定是否還有其他問題阻止它運行,因為您沒有提供所有源代碼,但是您的 while 循環(huán)應該如下所示:


play_again = "yes"

while playagain == "yes":

    draw()

    place_banana()

    on_mouse_down(pos)

    update_time_left()

    play_again = raw_input("If you'd like to play again, please type 'yes'")

另一件事是,對 pygame 程序使用 shell 輸入并不是最好的,因為通常用戶不會知道要查看終端,因此請研究將輸入構建到游戲實際 UI 中的選項。


編輯:感謝 chepner 指出缺少的重新分配play_again


查看完整回答
反對 回復 2022-06-14
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號