diff --git a/images/dead8.png b/images/dead8.png new file mode 100644 index 0000000..03d233a Binary files /dev/null and b/images/dead8.png differ diff --git a/main.py b/main.py index 0720326..a6bb85f 100644 --- a/main.py +++ b/main.py @@ -1,71 +1,20 @@ import pgzrun -import random -#start -pgzrun.init() +WIDTH = 800 +HEIGHT = 600 -#background -WIDTH , HEIGHT = 600,200 -screen = pgzrun.display.set_mode((WIDTH,HEIGHT)) -pgzrun.display.set_caption("dinosaur running") +ship = Actor('dead8') +ship.x = 370 +ship.y = 550 -#colour -WHITE = (255,255,255) -BLACK = (0,0,0) +def update(): + if keyboard.left: + ship.x = ship.x - 5 + if keyboard.right: + ship.x = ship.x + 5 -clock = pgzrun.time.Clock() -FPS = 60 -gravity = 0.8 -jump_vel = -16 -is_jump = False +def draw(): + screen.fill((80,0,70)) + ship.draw() -#dinosaur -dino_x = 50 -dino_y = 140 -dino_y_vel = 0 -is_jump = False - -#bairies -cactus_list = [] -cactus_speed = 6 -spawn_timer = 0 - -#game condition -game_over = False -score = 0 -font = pgzrun.font.SysFont(None,30) - -#main loop -running = True -while running: - clock.tick(FPS) - screen.fill(WHITE) - - for event in pgzrun.event.get(): - if event.type == pgzrun.QUIT: - running = False - if event.type == pgzrun.KEYKNOWN: - if event.key == pgzrun.K_SPACE and not is_jump and not game_over: - dino_y_vel = jump_vel - is_jump = True - #restart the game - if event.key == pgzrun.K_SPACE and game_over: - game_over = False - score = 0 - cactus_list.clear() - dino_y = 140 - dino_y_vel = 0 - - if not game_over: - dino_y_vel += gravity - dino_y += dino_y_vel - - if dino_y >= 140: - dino_y = 140 - dino_y_vel = 0 - is_jump = False - - #produce bairy - spawn_timer += 1 - if spawn_timer > 80: - cactus_x = WIDTH \ No newline at end of file +pgzrun.go() # Must be last line \ No newline at end of file diff --git a/main1.py b/main1.py new file mode 100644 index 0000000..a6bb85f --- /dev/null +++ b/main1.py @@ -0,0 +1,20 @@ +import pgzrun + +WIDTH = 800 +HEIGHT = 600 + +ship = Actor('dead8') +ship.x = 370 +ship.y = 550 + +def update(): + if keyboard.left: + ship.x = ship.x - 5 + if keyboard.right: + ship.x = ship.x + 5 + +def draw(): + screen.fill((80,0,70)) + ship.draw() + +pgzrun.go() # Must be last line \ No newline at end of file diff --git a/main_old.py b/main_old.py new file mode 100644 index 0000000..408d5d1 --- /dev/null +++ b/main_old.py @@ -0,0 +1,109 @@ +import pgzrun +import random + +#background +WIDTH = 600 +HEIGHT = 200 +def draw(): + screen.fill((80,0,70)) + +#colour +WHITE = (255,255,255) +BLACK = (0,0,0) + +clock = pgzrun.time.Clock() +FPS = 60 +gravity = 0.8 +jump_vel = -16 +is_jump = False + +#dinosaur +dino_x = 50 +dino_y = 140 +dino_y_vel = 0 +is_jump = False + +#bairies +cactus_list = [] +cactus_speed = 6 +spawn_timer = 0 + +#game condition +game_over = False +score = 0 +font = pgzrun.font.SysFont(None,30) + +#main loop +running = True +while running: + clock.tick(FPS) + screen.fill(WHITE) + + for event in pgzrun.event.get(): + if event.type == pgzrun.QUIT: + running = False + if event.type == pgzrun.KEYKNOWN: + if event.key == pgzrun.K_SPACE and not is_jump and not game_over: + dino_y_vel = jump_vel + is_jump = True + #restart the game + if event.key == pgzrun.K_SPACE and game_over: + game_over = False + score = 0 + cactus_list.clear() + dino_y = 140 + dino_y_vel = 0 + + if not game_over: + dino_y_vel += gravity + dino_y += dino_y_vel + + if dino_y >= 140: + dino_y = 140 + dino_y_vel = 0 + is_jump = False + + #produce bairy + spawn_timer += 1 + if spawn_timer > 80: + cactus_x = WIDTH + cactus_y = 150 + cactus_list.append([cactus_x , cactus_y]) + spawn_timer = random.randint(40,80) + + #movement of cactus+ score + for cactus in cactus_list: + cactus[0] -= cactus_speed + score += 0.1 + + cactus_list = [c for c in cactus_list if c[0] > -20] + + #checking touches + dino_rect = pgzrun.Rect(dino_x , dino_y , 30,40) + for cactus in cactus_list: + cactus_rect = pgzrun.Rect(cactus[0],cactus[1],20,30) + if dino_rect.colliderect(cactus_list): + game_over = True + + #draw dinosaur + pgzrun.draw.rect(screen,BLACK,(dino_x,dino_y,30,40)) + + #draw cactus + for c in cactus_list: + pgzrun.draw.rect(screen,BLACK,(c[0],c[1],20,30)) + + #draw horizon + pgzrun.draw.line(screen,BLACK,(0,180),(WIDTH,180),2) + + #draw score + score_text = font.render(f"Score: {int(score)}" ,True,BLACK) + screen.blit(score_text,(450,20)) + + #notice of game over + if game_over: + over_text = font.render("Game Over! Press SPACE to restart", True,BLACK) + screen.blit(over_text,(120,80)) + + pgzrun.display.update() + +pgzrun.go() \ No newline at end of file