Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stage.set_background_color("limegreen")
- stage.disable_all_walls()
- road = codesters.Rectangle(0,0,400,500,"dimgray")
- ##capitalized U
- speed_text = codesters.Text("Press Up to Speed Up!!",0,0,"blue")
- score_text = codesters.Text("Score:\n0",150,220,"blue")
- player = codesters.Sprite("car1",0,-200)
- player.set_size(.5)
- trees = []
- obstacles = []
- speed = -5
- score = 0
- game_over = False
- def create_scenery():
- for row in range(10):
- tree_num = random.randint(1,7)
- side = random.choice([-1,1])
- tree = codesters.Sprite("pinetree{}".format(tree_num),230*side,200-row*50)
- tree.set_size(.3)
- trees.append(tree)
- for tree in trees:
- tree.set_y_speed(speed)
- create_scenery()
- def speed_up():
- global speed
- if speed > -15:
- speed -= 1
- if speed < -8:
- speed_text.hide()
- stage.event_key("up",speed_up)
- def brake():
- global speed
- if speed > -4:
- speed += 1
- if speed >= -8:
- speed_text.show()
- stage.event_key("down",brake)
- def left():
- player.move_left(20)
- stage.event_key("left",left)
- def right():
- player.move_right(20)
- stage.event_key("right",right)
- def create_obstacle():
- image = random.choice(["car2","pollution"])
- sprite = codesters.Sprite(image,random.randint(-180,180),350)
- sprite.set_size(.5)
- if image == "car2":
- sprite.set_rotation(180)
- sprite.set_y_speed(-5+speed)
- else:
- sprite.set_y_speed(speed)
- obstacles.append(sprite)
- def collision(player, hit_sprite):
- global speed, game_over
- if hit_sprite in obstacles or hit_sprite in trees:
- speed = 0
- game_over = True
- speed_text.show()
- speed_text.set_text("Game Over")
- player.set_y_speed(-5)
- player.turn_left(1000)
- player.event_collision(collision)
- def update():
- global score
- if speed < -8:
- score += abs(speed+7)
- score_text.set_text("Score:\n{}".format(score))
- for tree in trees:
- tree.set_y_speed(speed)
- if tree.get_y() < -300:
- tree.set_y(300)
- for obs in obstacles:
- if obs.get_image_name() == "car2":
- obs.set_y_speed(-5+speed)
- else:
- obs.set_y_speed(speed)
- if obs.get_y() < -300:
- obstacles.remove(obs)
- stage.event_interval(update,.1)
- def main():
- while not game_over:
- create_obstacle()
- stage.wait(random.uniform(.1,1.5))
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement