# Author: Lisa Dion
# set gravity's strength
stage.set_gravity(10)
stage.set_background("halfcourt")
net = codesters.Sprite("basketballnet", 200, 100)
# we do not want the net to fall
net.set_physics_off()
net.set_gravity_off()
player = codesters.Sprite("player3", -180, -130)
# we do not want the player to fall
player.set_physics_off()
player.set_gravity_off()
ball = codesters.Sprite("basketball", -150, -130)
# we do not want the ball to fall yet
ball.set_physics_off()
ball.set_gravity_off()
# create a rectangle along the floor
floor = codesters.Rectangle(0, -250, 500, 10, "red")
# create a function called shoot
def shoot(x_speed, y_speed):
# set the ball's speed to make it move
ball.set_x_speed(x_speed)
ball.set_y_speed(y_speed)
# create a function for collisions
def collision(sprite, hit_sprite):
# check for a score
if sprite.get_x() >= 165 and sprite.get_x() <= 215 and sprite.get_y() >= 75 and sprite.get_y() <= 100 and sprite.get_y_speed() < 0:
# stop the ball
sprite.set_x_speed(0)
sprite.set_x_speed(0)
sprite.set_physics_off()
sprite.set_gravity_off()
# create a win message
message = codesters.Text("You scored!", 0, 0, "white")
# check if the ball hit the red floor
elif hit_sprite.get_color() == "red":
# stop the ball
sprite.set_x_speed(0)
sprite.set_x_speed(0)
sprite.set_physics_off()
sprite.set_gravity_off()
# create a lose message
message = codesters.Text("Try again!", 0, 0, "white")
ball.event_collision(collision)
# prompt the player for inputs
x_vel = int(player.ask("Enter an x-velocity: "))
y_vel = int(player.ask("Enter a y-velocity: "))
# now we want the ball to fall
ball.set_physics_on()
ball.set_gravity_on()
# this calls the function above
shoot(x_vel, y_vel)
-
Run Code
-
-
Stop Running Code
-
Show Chart
-
Show Console
-
Codesters How To (opens in a new tab)