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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Python 進(jìn)行游戲 - 添加選項(xiàng)“重啟游戲”

使用 Python 進(jìn)行游戲 - 添加選項(xiàng)“重啟游戲”

嗶嗶one 2022-06-14 10:00:43
我用 Pygame Zero 和 MU IDE 創(chuàng)建了一個(gè)小游戲。游戲結(jié)束后,應(yīng)詢問(wèn)用戶是否想再玩一次。如果他選擇是,游戲應(yīng)該從頭開(kāi)始。我知道我可以用一個(gè) While 循環(huán)來(lái)做到這一點(diǎn),但我不知道怎么做。我試圖插入一個(gè)while循環(huán)。在 while 循環(huán)中,游戲函數(shù)被調(diào)用,但它不起作用。我試過(guò)這個(gè):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貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊

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


我不確定是否還有其他問(wèn)題阻止它運(yùn)行,因?yàn)槟鷽](méi)有提供所有源代碼,但是您的 while 循環(huán)應(yīng)該如下所示:


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'")

另一件事是,對(duì) pygame 程序使用 shell 輸入并不是最好的,因?yàn)橥ǔS脩舨粫?huì)知道要查看終端,因此請(qǐng)研究將輸入構(gòu)建到游戲?qū)嶋H UI 中的選項(xiàng)。


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


查看完整回答
反對(duì) 回復(fù) 2022-06-14
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)