基于python 的乒乓球游戏代码
时间: 2023-11-13 17:13:05 浏览: 42
以下是一个基于 Python 的简单乒乓球游戏代码实现:
```python
import turtle
# 创建游戏窗口
window = turtle.Screen()
window.title("Pong Game")
window.bgcolor("black")
window.setup(width=600, height=400)
# 创建乒乓球
ball = turtle.Turtle()
ball.shape("circle")
ball.color("white")
ball.penup()
ball.goto(0, 0)
# 设置乒乓球移动速度
ball.dx = 2
ball.dy = -2
# 创建左侧球拍
left_paddle = turtle.Turtle()
left_paddle.shape("square")
left_paddle.color("white")
left_paddle.shapesize(stretch_wid=5, stretch_len=1)
left_paddle.penup()
left_paddle.goto(-250, 0)
# 创建右侧球拍
right_paddle = turtle.Turtle()
right_paddle.shape("square")
right_paddle.color("white")
right_paddle.shapesize(stretch_wid=5, stretch_len=1)
right_paddle.penup()
right_paddle.goto(250, 0)
# 设置球拍移动速度
paddle_speed = 20
# 定义球拍移动函数
def left_paddle_up():
y = left_paddle.ycor()
y += paddle_speed
left_paddle.sety(y)
def left_paddle_down():
y = left_paddle.ycor()
y -= paddle_speed
left_paddle.sety(y)
def right_paddle_up():
y = right_paddle.ycor()
y += paddle_speed
right_paddle.sety(y)
def right_paddle_down():
y = right_paddle.ycor()
y -= paddle_speed
right_paddle.sety(y)
# 监听键盘按键
window.listen()
window.onkeypress(left_paddle_up, "w")
window.onkeypress(left_paddle_down, "s")
window.onkeypress(right_paddle_up, "Up")
window.onkeypress(right_paddle_down, "Down")
# 循环游戏
while True:
window.update()
# 移动乒乓球
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
# 碰撞检测
if ball.ycor() > 190 or ball.ycor() < -190:
ball.dy *= -1
if ball.xcor() > 290:
ball.goto(0, 0)
ball.dx *= -1
if ball.xcor() < -290:
ball.goto(0, 0)
ball.dx *= -1
if ball.xcor() > 240 and ball.xcor() < 250 and (ball.ycor() < right_paddle.ycor() + 50 and ball.ycor() > right_paddle.ycor() - 50):
ball.dx *= -1
if ball.xcor() < -240 and ball.xcor() > -250 and (ball.ycor() < left_paddle.ycor() + 50 and ball.ycor() > left_paddle.ycor() - 50):
ball.dx *= -1
```
运行代码后,可以使用键盘上下键或者 w、s 键控制左边的球拍,使用方向键上下控制右边的球拍。每次碰撞后,乒乓球的速度会增加,直到某一方失误结束游戏。