From 05c718362e487db90bdd0d126fa145bea0aab43b Mon Sep 17 00:00:00 2001 From: "Maxwell F. Barbosa" Date: Tue, 24 Aug 2021 10:29:16 -0300 Subject: [PATCH 1/3] Updated to Python 3.x, lib file changed to os, added quit game with ESC key and fixed background hole --- game.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/game.py b/game.py index 841ab7f..4859e80 100644 --- a/game.py +++ b/game.py @@ -7,8 +7,7 @@ from time import sleep import pygame -from pathlib2 import Path - +import os class CarRacing: def __init__(self): @@ -20,7 +19,9 @@ def __init__(self): self.white = (255, 255, 255) self.clock = pygame.time.Clock() self.gameDisplay = None - self.root_path = str(Path(__file__).parent) + self.root_path = os.path.dirname(os.path.realpath(__file__)) + + self.quit_game = False self.initialize() @@ -60,7 +61,7 @@ def racing_window(self): def run_car(self): - while not self.crashed: + while not self.quit_game: for event in pygame.event.get(): if event.type == pygame.QUIT: @@ -70,10 +71,12 @@ def run_car(self): if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: self.car_x_coordinate -= 50 - print "CAR X COORDINATES: %s" % self.car_x_coordinate + print ("CAR X COORDINATES: %s" % self.car_x_coordinate) if event.key == pygame.K_RIGHT: self.car_x_coordinate += 50 - print "CAR X COORDINATES: %s" % self.car_x_coordinate + print ("CAR X COORDINATES: %s" % self.car_x_coordinate) + if event.key == pygame.K_ESCAPE: + self.quit_game = True print ("x: {x}, y: {y}".format(x=self.car_x_coordinate, y=self.car_y_coordinate)) self.gameDisplay.fill(self.black) @@ -124,10 +127,10 @@ def back_ground_road(self): self.bg_y2 += self.bg_speed if self.bg_y1 >= self.display_height: - self.bg_y1 = -600 + self.bg_y1 = self.bg_y2 - 600 if self.bg_y2 >= self.display_height: - self.bg_y2 = -600 + self.bg_y2 = self.bg_y1 - 600 def run_enemy_car(self, thingx, thingy): self.gameDisplay.blit(self.enemy_car, (thingx, thingy)) From 401f2770b211f4fde2951df11c9fe033eaa044ff Mon Sep 17 00:00:00 2001 From: "Maxwell F. Barbosa" Date: Tue, 24 Aug 2021 12:23:29 -0300 Subject: [PATCH 2/3] Changed to be Car_Race_Game_Like_Gym --- .gitignore | 89 +++++++++++++ .idea/inspectionProfiles/Project_Default.xml | 13 ++ .idea/workspace.xml | 37 ++++++ README.md | 52 +++++++- game.py => car_race.py | 132 +++++++++++-------- img/Car_Race.jpg | Bin 0 -> 51585 bytes main.py | 10 ++ 7 files changed, 273 insertions(+), 60 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/workspace.xml rename game.py => car_race.py (50%) create mode 100644 img/Car_Race.jpg create mode 100644 main.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..72364f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,89 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# IPython Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..6b266c4 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..9132895 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + 1629817050223 + + + + \ No newline at end of file diff --git a/README.md b/README.md index 546f0e2..f390581 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,51 @@ -# Game Car Race in Python +

+ +

-Game video +# Car Race Game Like Gym +This game can be controlled by another program or by a keyboard. -[![CAR RACE YOUTUBE](https://img.youtube.com/vi/PBRMMR2C6cY/0.jpg)](https://www.youtube.com/watch?v=PBRMMR2C6cY) +## Prerequisites + +### Python and Libraries +* Python v3.9.6 +* Pygame v2.0.1 + +## How to play using keyboard +You can run "main.py" and play using the following keys: +* Left arrow +* Right arrow +* ESC - To close the game + +## How to play using another program +To import and send commands to the game, you can uso the following code: +```` +from Car_Race_Game_Like_Gym.car_race import CarRacing +car_racing = CarRacing(keyboard_game=False, increase_speed=1, low_enemy_car_speed=5, max_enemy_car_speed=11) +car_racing.start() +while True: + car_racing.step(0) # Use the action +```` +In the parameter of "car_racing.step()" you pass the action you want to perform in the game. + +### Actions +Actions you can send to the program: +* 0 - Left lane +* 1 - Middle lane +* 2 - Right lane + +## Customizations +When start the game you can do some customizations listed below: +* **keyboard_game** - Play using keyboard or sending commands (by another program) +* **increase_speed** - How much speed will increase every 100 points +* **low_speed** - Minimum speed allowed (when starting the game) +* **max_speed** - Maximum speed allowed + +## Authors + +### Created by +* **Anuj Kumar** - [anujkumar21](https://github.com/anujkumar21) + +### Changed by + +* **Maxwell F. Barbosa** - [MaxwellFB](https://github.com/MaxwellFB) diff --git a/game.py b/car_race.py similarity index 50% rename from game.py rename to car_race.py index 4859e80..f121567 100644 --- a/game.py +++ b/car_race.py @@ -9,8 +9,9 @@ import pygame import os + class CarRacing: - def __init__(self): + def __init__(self, keyboard_game=True, increase_speed=1, low_enemy_car_speed=5, max_enemy_car_speed=11): pygame.init() self.display_width = 800 @@ -21,16 +22,21 @@ def __init__(self): self.gameDisplay = None self.root_path = os.path.dirname(os.path.realpath(__file__)) - self.quit_game = False + self.keyboard_game = keyboard_game + self.max_enemy_car_speed = max_enemy_car_speed + self.low_enemy_car_speed = low_enemy_car_speed + self.increase_speed = increase_speed - self.initialize() + self.quit_game = False - def initialize(self): + self.reset() + def reset(self): self.crashed = False self.carImg = pygame.image.load(self.root_path + "/img/car.png") - self.car_x_coordinate = (self.display_width * 0.45) + self.car_x_coordinate = 310 + self.car_x_coordinate_available = [310, 375, 440] self.car_y_coordinate = (self.display_height * 0.8) self.car_width = 49 @@ -38,7 +44,7 @@ def initialize(self): self.enemy_car = pygame.image.load(self.root_path + "/img/enemy_car_1.png") self.enemy_car_startx = random.randrange(310, 450) self.enemy_car_starty = -600 - self.enemy_car_speed = 5 + self.enemy_car_speed = self.low_enemy_car_speed self.enemy_car_width = 49 self.enemy_car_height = 100 @@ -48,65 +54,78 @@ def initialize(self): self.bg_x2 = (self.display_width / 2) - (360 / 2) self.bg_y1 = 0 self.bg_y2 = -600 - self.bg_speed = 3 + self.bg_speed = self.low_enemy_car_speed - 2 self.count = 0 def car(self, car_x_coordinate, car_y_coordinate): self.gameDisplay.blit(self.carImg, (car_x_coordinate, car_y_coordinate)) - def racing_window(self): + def start(self): self.gameDisplay = pygame.display.set_mode((self.display_width, self.display_height)) pygame.display.set_caption('Car Race -- Anuj') self.run_car() def run_car(self): - - while not self.quit_game: - - for event in pygame.event.get(): - if event.type == pygame.QUIT: - self.crashed = True - # print(event) - - if event.type == pygame.KEYDOWN: - if event.key == pygame.K_LEFT: - self.car_x_coordinate -= 50 - print ("CAR X COORDINATES: %s" % self.car_x_coordinate) - if event.key == pygame.K_RIGHT: - self.car_x_coordinate += 50 - print ("CAR X COORDINATES: %s" % self.car_x_coordinate) - if event.key == pygame.K_ESCAPE: + if self.keyboard_game: + while not self.quit_game: + + for event in pygame.event.get(): + if event.type == pygame.QUIT: + self.crashed = True + # print(event) + + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_LEFT: + self.car_x_coordinate -= 65 + # print ("CAR X COORDINATES: %s" % self.car_x_coordinate) + elif event.key == pygame.K_RIGHT: + self.car_x_coordinate += 65 + # print ("CAR X COORDINATES: %s" % self.car_x_coordinate) + # print ("x: {x}, y: {y}".format(x=self.car_x_coordinate, y=self.car_y_coordinate)) + elif event.key == pygame.K_ESCAPE: # ESC self.quit_game = True - print ("x: {x}, y: {y}".format(x=self.car_x_coordinate, y=self.car_y_coordinate)) - - self.gameDisplay.fill(self.black) - self.back_ground_road() - - self.run_enemy_car(self.enemy_car_startx, self.enemy_car_starty) - self.enemy_car_starty += self.enemy_car_speed - - if self.enemy_car_starty > self.display_height: - self.enemy_car_starty = 0 - self.enemy_car_height - self.enemy_car_startx = random.randrange(310, 450) - - self.car(self.car_x_coordinate, self.car_y_coordinate) - self.highscore(self.count) - self.count += 1 - if self.count % 100 == 0: - self.enemy_car_speed += 1 - self.bg_speed += 1 - - if self.car_y_coordinate < self.enemy_car_starty + self.enemy_car_height: - if self.car_x_coordinate > self.enemy_car_startx and self.car_x_coordinate < self.enemy_car_startx + self.enemy_car_width or self.car_x_coordinate + self.car_width > self.enemy_car_startx and self.car_x_coordinate + self.car_width < self.enemy_car_startx + self.enemy_car_width: - self.crashed = True - self.display_message("Game Over !!!") - - if self.car_x_coordinate < 310 or self.car_x_coordinate > 460: + self.step() + + def step(self, action=None): + """ + Move the car + + :param action: If keyboard_game=True the action is the position the car will be + """ + if not self.keyboard_game: + self.car_x_coordinate = self.car_x_coordinate_available[action] + + self.gameDisplay.fill(self.black) + self.back_ground_road() + + self.run_enemy_car(self.enemy_car_startx, self.enemy_car_starty) + self.enemy_car_starty += self.enemy_car_speed + + if self.enemy_car_starty > self.display_height: + self.enemy_car_starty = 0 - self.enemy_car_height + self.enemy_car_startx = random.randrange(310, 450) + + self.car(self.car_x_coordinate, self.car_y_coordinate) + self.highscore(self.count) + self.count += 1 + if self.count % 100 == 0 and self.enemy_car_speed < self.max_enemy_car_speed: + self.enemy_car_speed += self.increase_speed + self.bg_speed += self.increase_speed + + if self.car_y_coordinate < self.enemy_car_starty + self.enemy_car_height: + if self.car_x_coordinate > self.enemy_car_startx and\ + self.car_x_coordinate < self.enemy_car_startx + self.enemy_car_width or\ + self.car_x_coordinate + self.car_width > self.enemy_car_startx and\ + self.car_x_coordinate + self.car_width < self.enemy_car_startx + self.enemy_car_width: self.crashed = True self.display_message("Game Over !!!") - pygame.display.update() - self.clock.tick(60) + if self.car_x_coordinate < 310 or self.car_x_coordinate > 460: + self.crashed = True + self.display_message("Game Over !!!") + + pygame.display.update() + self.clock.tick(60) def display_message(self, msg): font = pygame.font.SysFont("comicsansms", 72, True) @@ -116,8 +135,8 @@ def display_message(self, msg): pygame.display.update() self.clock.tick(60) sleep(1) - car_racing.initialize() - car_racing.racing_window() + self.reset() + self.start() def back_ground_road(self): self.gameDisplay.blit(self.bgImg, (self.bg_x1, self.bg_y1)) @@ -149,7 +168,6 @@ def display_credit(self): text = font.render("cdac.anuj@gmail.com", True, self.white) self.gameDisplay.blit(text, (600, 560)) - -if __name__ == '__main__': - car_racing = CarRacing() - car_racing.racing_window() + def quit(self): + pygame.quit() + self.quit_game = True diff --git a/img/Car_Race.jpg b/img/Car_Race.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d92e8c61eb262811928bb9c4008cf9459045b8ab GIT binary patch literal 51585 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

}8~kdW%ddQSI8 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%0Alqq>95s5XEQ74ko6>1`tjy8s5eb?~EWu&Mkj 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 Date: Tue, 24 Aug 2021 12:41:08 -0300 Subject: [PATCH 3/3] Updated to Python 3.x, lib file changed to os, added quit game with ESC key and fixed background hole This reverts commit 401f2770b211f4fde2951df11c9fe033eaa044ff. --- .gitignore | 89 ------------- .idea/inspectionProfiles/Project_Default.xml | 13 -- .idea/workspace.xml | 37 ------ README.md | 52 +------- car_race.py => game.py | 132 ++++++++----------- img/Car_Race.jpg | Bin 51585 -> 0 bytes main.py | 10 -- 7 files changed, 60 insertions(+), 273 deletions(-) delete mode 100644 .gitignore delete mode 100644 .idea/inspectionProfiles/Project_Default.xml delete mode 100644 .idea/workspace.xml rename car_race.py => game.py (50%) delete mode 100644 img/Car_Race.jpg delete mode 100644 main.py diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 72364f9..0000000 --- a/.gitignore +++ /dev/null @@ -1,89 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# IPython Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# dotenv -.env - -# virtualenv -venv/ -ENV/ - -# Spyder project settings -.spyderproject - -# Rope project settings -.ropeproject diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 6b266c4..0000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 9132895..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - 1629817050223 - - - - \ No newline at end of file diff --git a/README.md b/README.md index f390581..546f0e2 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,5 @@ -

- -

+# Game Car Race in Python -# Car Race Game Like Gym -This game can be controlled by another program or by a keyboard. +Game video -## Prerequisites - -### Python and Libraries -* Python v3.9.6 -* Pygame v2.0.1 - -## How to play using keyboard -You can run "main.py" and play using the following keys: -* Left arrow -* Right arrow -* ESC - To close the game - -## How to play using another program -To import and send commands to the game, you can uso the following code: -```` -from Car_Race_Game_Like_Gym.car_race import CarRacing -car_racing = CarRacing(keyboard_game=False, increase_speed=1, low_enemy_car_speed=5, max_enemy_car_speed=11) -car_racing.start() -while True: - car_racing.step(0) # Use the action -```` -In the parameter of "car_racing.step()" you pass the action you want to perform in the game. - -### Actions -Actions you can send to the program: -* 0 - Left lane -* 1 - Middle lane -* 2 - Right lane - -## Customizations -When start the game you can do some customizations listed below: -* **keyboard_game** - Play using keyboard or sending commands (by another program) -* **increase_speed** - How much speed will increase every 100 points -* **low_speed** - Minimum speed allowed (when starting the game) -* **max_speed** - Maximum speed allowed - -## Authors - -### Created by -* **Anuj Kumar** - [anujkumar21](https://github.com/anujkumar21) - -### Changed by - -* **Maxwell F. Barbosa** - [MaxwellFB](https://github.com/MaxwellFB) +[![CAR RACE YOUTUBE](https://img.youtube.com/vi/PBRMMR2C6cY/0.jpg)](https://www.youtube.com/watch?v=PBRMMR2C6cY) diff --git a/car_race.py b/game.py similarity index 50% rename from car_race.py rename to game.py index f121567..4859e80 100644 --- a/car_race.py +++ b/game.py @@ -9,9 +9,8 @@ import pygame import os - class CarRacing: - def __init__(self, keyboard_game=True, increase_speed=1, low_enemy_car_speed=5, max_enemy_car_speed=11): + def __init__(self): pygame.init() self.display_width = 800 @@ -22,21 +21,16 @@ def __init__(self, keyboard_game=True, increase_speed=1, low_enemy_car_speed=5, self.gameDisplay = None self.root_path = os.path.dirname(os.path.realpath(__file__)) - self.keyboard_game = keyboard_game - self.max_enemy_car_speed = max_enemy_car_speed - self.low_enemy_car_speed = low_enemy_car_speed - self.increase_speed = increase_speed - self.quit_game = False - self.reset() + self.initialize() + + def initialize(self): - def reset(self): self.crashed = False self.carImg = pygame.image.load(self.root_path + "/img/car.png") - self.car_x_coordinate = 310 - self.car_x_coordinate_available = [310, 375, 440] + self.car_x_coordinate = (self.display_width * 0.45) self.car_y_coordinate = (self.display_height * 0.8) self.car_width = 49 @@ -44,7 +38,7 @@ def reset(self): self.enemy_car = pygame.image.load(self.root_path + "/img/enemy_car_1.png") self.enemy_car_startx = random.randrange(310, 450) self.enemy_car_starty = -600 - self.enemy_car_speed = self.low_enemy_car_speed + self.enemy_car_speed = 5 self.enemy_car_width = 49 self.enemy_car_height = 100 @@ -54,78 +48,65 @@ def reset(self): self.bg_x2 = (self.display_width / 2) - (360 / 2) self.bg_y1 = 0 self.bg_y2 = -600 - self.bg_speed = self.low_enemy_car_speed - 2 + self.bg_speed = 3 self.count = 0 def car(self, car_x_coordinate, car_y_coordinate): self.gameDisplay.blit(self.carImg, (car_x_coordinate, car_y_coordinate)) - def start(self): + def racing_window(self): self.gameDisplay = pygame.display.set_mode((self.display_width, self.display_height)) pygame.display.set_caption('Car Race -- Anuj') self.run_car() def run_car(self): - if self.keyboard_game: - while not self.quit_game: - - for event in pygame.event.get(): - if event.type == pygame.QUIT: - self.crashed = True - # print(event) - - if event.type == pygame.KEYDOWN: - if event.key == pygame.K_LEFT: - self.car_x_coordinate -= 65 - # print ("CAR X COORDINATES: %s" % self.car_x_coordinate) - elif event.key == pygame.K_RIGHT: - self.car_x_coordinate += 65 - # print ("CAR X COORDINATES: %s" % self.car_x_coordinate) - # print ("x: {x}, y: {y}".format(x=self.car_x_coordinate, y=self.car_y_coordinate)) - elif event.key == pygame.K_ESCAPE: # ESC + + while not self.quit_game: + + for event in pygame.event.get(): + if event.type == pygame.QUIT: + self.crashed = True + # print(event) + + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_LEFT: + self.car_x_coordinate -= 50 + print ("CAR X COORDINATES: %s" % self.car_x_coordinate) + if event.key == pygame.K_RIGHT: + self.car_x_coordinate += 50 + print ("CAR X COORDINATES: %s" % self.car_x_coordinate) + if event.key == pygame.K_ESCAPE: self.quit_game = True - self.step() - - def step(self, action=None): - """ - Move the car - - :param action: If keyboard_game=True the action is the position the car will be - """ - if not self.keyboard_game: - self.car_x_coordinate = self.car_x_coordinate_available[action] - - self.gameDisplay.fill(self.black) - self.back_ground_road() - - self.run_enemy_car(self.enemy_car_startx, self.enemy_car_starty) - self.enemy_car_starty += self.enemy_car_speed - - if self.enemy_car_starty > self.display_height: - self.enemy_car_starty = 0 - self.enemy_car_height - self.enemy_car_startx = random.randrange(310, 450) - - self.car(self.car_x_coordinate, self.car_y_coordinate) - self.highscore(self.count) - self.count += 1 - if self.count % 100 == 0 and self.enemy_car_speed < self.max_enemy_car_speed: - self.enemy_car_speed += self.increase_speed - self.bg_speed += self.increase_speed - - if self.car_y_coordinate < self.enemy_car_starty + self.enemy_car_height: - if self.car_x_coordinate > self.enemy_car_startx and\ - self.car_x_coordinate < self.enemy_car_startx + self.enemy_car_width or\ - self.car_x_coordinate + self.car_width > self.enemy_car_startx and\ - self.car_x_coordinate + self.car_width < self.enemy_car_startx + self.enemy_car_width: + print ("x: {x}, y: {y}".format(x=self.car_x_coordinate, y=self.car_y_coordinate)) + + self.gameDisplay.fill(self.black) + self.back_ground_road() + + self.run_enemy_car(self.enemy_car_startx, self.enemy_car_starty) + self.enemy_car_starty += self.enemy_car_speed + + if self.enemy_car_starty > self.display_height: + self.enemy_car_starty = 0 - self.enemy_car_height + self.enemy_car_startx = random.randrange(310, 450) + + self.car(self.car_x_coordinate, self.car_y_coordinate) + self.highscore(self.count) + self.count += 1 + if self.count % 100 == 0: + self.enemy_car_speed += 1 + self.bg_speed += 1 + + if self.car_y_coordinate < self.enemy_car_starty + self.enemy_car_height: + if self.car_x_coordinate > self.enemy_car_startx and self.car_x_coordinate < self.enemy_car_startx + self.enemy_car_width or self.car_x_coordinate + self.car_width > self.enemy_car_startx and self.car_x_coordinate + self.car_width < self.enemy_car_startx + self.enemy_car_width: + self.crashed = True + self.display_message("Game Over !!!") + + if self.car_x_coordinate < 310 or self.car_x_coordinate > 460: self.crashed = True self.display_message("Game Over !!!") - if self.car_x_coordinate < 310 or self.car_x_coordinate > 460: - self.crashed = True - self.display_message("Game Over !!!") - - pygame.display.update() - self.clock.tick(60) + pygame.display.update() + self.clock.tick(60) def display_message(self, msg): font = pygame.font.SysFont("comicsansms", 72, True) @@ -135,8 +116,8 @@ def display_message(self, msg): pygame.display.update() self.clock.tick(60) sleep(1) - self.reset() - self.start() + car_racing.initialize() + car_racing.racing_window() def back_ground_road(self): self.gameDisplay.blit(self.bgImg, (self.bg_x1, self.bg_y1)) @@ -168,6 +149,7 @@ def display_credit(self): text = font.render("cdac.anuj@gmail.com", True, self.white) self.gameDisplay.blit(text, (600, 560)) - def quit(self): - pygame.quit() - self.quit_game = True + +if __name__ == '__main__': + car_racing = CarRacing() + car_racing.racing_window() diff --git a/img/Car_Race.jpg b/img/Car_Race.jpg deleted file mode 100644 index d92e8c61eb262811928bb9c4008cf9459045b8ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51585 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

}8~kdW%ddQSI8 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%0Alqq>95s5XEQ74ko6>1`tjy8s5eb?~EWu&Mkj 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