From 0c35c13483a17843017a5fe842b0736263fa00d8 Mon Sep 17 00:00:00 2001 From: Peter Feng <126542249+PETERFEE@users.noreply.github.com> Date: Sat, 14 Feb 2026 15:26:01 -0500 Subject: [PATCH] fuel bar empty, game stop --- .../__pycache__/objects.cpython-313.pyc | Bin 0 -> 15227 bytes Car Racing 2d/main.py | 42 +++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 Car Racing 2d/__pycache__/objects.cpython-313.pyc diff --git a/Car Racing 2d/__pycache__/objects.cpython-313.pyc b/Car Racing 2d/__pycache__/objects.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f5edef92fdc93ab11e0e6240dfce1d13f0611806 GIT binary patch literal 15227 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 literal 0 HcmV?d00001 diff --git a/Car Racing 2d/main.py b/Car Racing 2d/main.py index f4a51c1..a0110ba 100644 --- a/Car Racing 2d/main.py +++ b/Car Racing 2d/main.py @@ -118,7 +118,7 @@ def center(image): counter = 0 counter_inc = 1 -speed = 3 +speed = 10 # increase the speed for better accleration and difficulty dodged = 0 coins = 0 cfuel = 100 @@ -276,9 +276,10 @@ def center(image): if counter % 60 == 0: tree = Tree(random.choice([-5, WIDTH-35]), -20) tree_group.add(tree) - - if counter % 270 == 0: - type = random.choices([1, 2], weights=[6, 4], k=1)[0] +# change here so that fuel appear every 150 frames(5 sec) +# to make game possible to continue + if counter % 150 == 0: # increase the changes of fuel instead of coin to 70% + type = random.choices([1, 2], weights=[3, 7], k=1)[0] x = random.choice(lane_pos)+10 if type == 1: count = random.randint(1, 3) @@ -318,13 +319,42 @@ def center(image): fuel_group.update(speed) fuel_group.draw(win) - p.update(move_left, move_right) +#changes here for the issue: +# the game every check the fuel bars status where it update the player object. +#therefore, add a check here: + if cfuel > 0: + #as long as the fuel bar greater than 0 + #keep updating the motion of the car base on control + p.update(move_left, move_right) + else: + speed = 0; p.draw(win) if cfuel > 0: pygame.draw.rect(win, GREEN, (20, 20, cfuel, 15), border_radius=5) pygame.draw.rect(win, WHITE, (20, 20, 100, 15), 2, border_radius=5) - cfuel -= 0.05 + cfuel -= 0.1 # increase the fuel consume so that the game is more difficult and engaging +#add to the issue about the fuel bar to make it more than just a +#display but actully slow down and stop the car + # as after the fuel decrease, check if it's less than 5% + #if it is, then slow down + if cfuel <= 5: + speed = max(1,speed - 0.05) + + # if the cfuel is <= 0 + if cfuel <= 0: + speed = 0 + #disable the control + move_left = False + move_right = False + + game_page = False + over_page = True # show the game page when car stopped +# empty everything + tree_group.empty() + coin_group.empty() + fuel_group.empty() + obstacle_group.empty() # COLLISION DETECTION & KILLS for obstacle in obstacle_group: