健康が枯渇したときに機能するGAME OVER画面があります。このGAME OVER画面はshow_go_screenで実行されます。私はshow_go_screenのメソッドを他の画面のshow_winning()関数に複製しようとしました。ゲームに戻ったときにあなたの健康を正常に戻して、このショーで勝利した機能を組み立てました。しかし、いったんあなたに勝って画面に戻ってゲームに戻ったら、もう一度あなたに勝つことはできません。私はあなたのプレイヤーシールドのコードを以下に含みます(GAME OVER/YOUWINイベントがいつ発生するかを決定します)。show_go_screen(GAME OVER用)とshow_winning()メソッド用のメソッドも含まれています。 YOU WIN画面の場合)。誰かが私のコードを修正して、望ましい結果を得る方法を教えてもらえますか?GAME OVER画面とYOU WIN画面をパイゲームで表示する方法
ここif TrumpHits:
self.trump.shield -= 25
if self.trump.shield <= 0:
self.show_winning()
self.winning = True
if hits:
self.player.shield -= 20
if flyby:
self.player.shield -= 30
if self.player.shield <= 0:
self.playing = False
は(show_go_screenある)とshow_winning()メソッド
def show_go_screen(self):
# game over/continue
if not self.running:
return
bg = pg.image.load("GAMEOVERslimeCOVERAGE.png")
self.screen.blit(bg,(0,0))
self.draw_text("Press space bar to play again", 22, WHITE, WIDTH/2, HEIGHT * 7/8)
HEIGHT/2 + 40)
pg.display.flip()
waiting = True
while waiting:
self.clock.tick(FPS)
for event in pg.event.get():
if event.type == pg.QUIT:
waiting = False
self.running = False
if event.type == pg.KEYDOWN:
if event.key == pg.K_SPACE:
waiting = False
self.PlayMusic()
def show_winning(self):
# game over/continue
if self.winning:
return
bg = pg.image.load("TRUMPyouwin3d.png")
self.screen.blit(bg,(0,0))
self.draw_text("Press any key to play again", 22, WHITE, WIDTH/2, HEIGHT * 7/8)
pg.display.flip()
waiting = True
while waiting:
self.clock.tick(FPS)
for event in pg.event.get():
if event.type == pg.QUIT:
waiting = False
self.running = False
if event.type == pg.KEYDOWN:
if event.key == pg.K_SPACE:
waiting = False
self.PlayMusic()
self.player.shield = 100
self.trump.shield = 100
def wait_for_key(self):
waiting = True
while waiting:
self.clock.tick(FPS)
for event in pg.event.get():
if event.type == pg.QUIT:
waiting = False
self.running = False
if event.type == pg.KEYUP:
waiting = False
コードを投稿しないでください。代わりに[mcve]を作成してください。それは、読んで理解し、テストし、検証するのが容易になり、問題を見つけようとしている人々にとってより簡単になるので、質問を他の人にとってより有益にするでしょう。 –