小球落体反弹运动的python代码
时间: 2024-06-23 08:00:55 浏览: 187
小球落体反弹运动的Python代码通常涉及到物理模拟和基本的数学计算。我们可以使用Pygame库来创建一个简单的2D游戏场景。以下是一个简化的例子,它创建了一个小球在鼠标点击位置下落并反弹的场景:
```python
import pygame
import sys
# 初始化pygame
pygame.init()
# 设置窗口大小
win_size = (800, 600)
screen = pygame.display.set_mode(win_size)
# 小球属性
ball_radius = 20
ball_speed = 5
class Ball:
def __init__(self, x, y):
self.x = x
self.y = y
self.velocity = [0, ball_speed]
def move(self):
self.x += self.velocity
self.y += self.velocity
if self.y > win_size - ball_radius: # 当小球碰到顶部
self.velocity *= -1 # 反弹
elif self.x < ball_radius or self.x > win_size - ball_radius: # 当小球碰到边界
self.velocity *= -1 # 反弹
def draw(self):
pygame.draw.circle(screen, (255, 0, 0), (int(self.x), int(self.y)), ball_radius)
# 创建小球对象
ball = Ball(win_size // 2, win_size - ball_radius)
# 游戏主循环
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 移动小球
ball.move()
# 绘制小球
screen.fill((255, 255, 255)) # 清除屏幕
ball.draw()
pygame.display.flip() # 更新屏幕
# 检查并调整帧率
clock = pygame.time.Clock()
clock.tick(60) # 限制每秒更新60次
# 结束游戏
pygame.quit()
```
阅读全文