使用turtle实现一个弹跳的小球

300 阅读1分钟
import turtle

# 设置画布大小和速度
turtle.setup(800, 600)
turtle.speed(0)

# 定义小球的初始位置和速度
x = -300
y = 0
speed_x = 3
speed_y = 0
gravity = -0.2
bounce_factor = 0.8

# 绘制小球
ball = turtle.Turtle()
ball.shape("circle")
ball.color("red")
ball.penup()
ball.goto(x, y)

# 模拟小球的运动
while True:
    # 更新小球的位置和速度
    speed_y += gravity
    x += speed_x
    y += speed_y

    # 检测小球是否碰到边界
    if y < -280:
        y = -280
        speed_y *= -bounce_factor

    if x > 380:
        x = 380
        speed_x *= -1

    if x < -380:
        x = -380
        speed_x *= -1

        # 更新小球的位置
    ball.goto(x, y)

turtle.done()  

以上代码使用Turtle模块实现了一个弹跳的小球效果。小球在x和y方向上根据速度进行更新,并模拟重力的影响。当小球触碰到底部边界时,速度会反向并乘以反弹系数,模拟小球的弹跳行为。小球同时也会在左右边界处产生反弹效果。