From 0934806ac9bfe89bb87f846c49043685a5442ae0 Mon Sep 17 00:00:00 2001 From: Renny <2403231@stu.hdschools.org> Date: Tue, 23 Jun 2026 15:38:36 +0800 Subject: [PATCH] add trees --- images/tree.png | Bin 0 -> 9691 bytes import pgzrun.py | 57 ------------------------ main.py | 111 +++++++++++++++++++++++++++++++++++------------ 3 files changed, 83 insertions(+), 85 deletions(-) create mode 100644 images/tree.png delete mode 100644 import pgzrun.py diff --git a/images/tree.png b/images/tree.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d808eac4c7a3149b733d1f3254090da1f6ad94 GIT binary patch literal 9691 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 du`{;A`2XRWdCN$O5`q8#002ovPDHLkV1n$ob 600: - game_over = True - if gem.colliderect(ship): - gem.x = random.randint(20, 780) - gem.y = 0 - score = score + 1 def draw(): - screen.fill((80,0,70)) - if game_over: - screen.draw.text('Game Over', (360, 300), color=(255,255,255), fontsize=60) - screen.draw.text('Score: ' + str(score), (360, 350), color=(255,255,255), fontsize=60) + if timer <= 0: + screen.fill((30, 30, 30)) + screen.draw.text('Game Over', (330, 270), color=(255,255,255), fontsize=36) + screen.draw.text('Final Score: ' + str(score), (330, 330), color=(255,255,255), fontsize=30) else: - gem.draw() - ship.draw() + background.draw() + + for tree in trees: + tree.draw() + player.draw() + coin.draw() screen.draw.text('Score: ' + str(score), (15,10), color=(255,255,255), fontsize=30) + screen.draw.text('Time: ' + str(round(timer, 2)), (330,10), color=(255,255,255), fontsize=30) pgzrun.go() # Must be last line \ No newline at end of file