用python做一个打乒乓的游戏
下面是一个用Python编写的乒乓球游戏的示例代码:
import turtle
win = turtle.Screen()
win.title("乒乓球游戏")
win.bgcolor("black")
win.setup(width=800, height=600)
win.tracer(0)
# 乒乓球
ball = turtle.Turtle()
ball.speed(0)
ball.shape("square")
ball.color("white")
ball.penup()
ball.goto(0, 0)
ball.dx = 0.2
ball.dy = -0.2
# 球拍 A
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape("square")
paddle_a.color("white")
paddle_a.shapesize(stretch_wid=1, stretch_len=5)
paddle_a.penup()
paddle_a.goto(0, -250)
# 球拍 B
paddle_b = turtle.Turtle()
paddle_b.speed(0)
paddle_b.shape("square")
paddle_b.color("white")
paddle_b.shapesize(stretch_wid=1, stretch_len=5)
paddle_b.penup()
paddle_b.goto(0, 250)
# 移动球拍 A
def paddle_a_left():
x = paddle_a.xcor()
if x > -380:
x -= 20
paddle_a.setx(x)
def paddle_a_right():
x = paddle_a.xcor()
if x < 380:
x += 20
paddle_a.setx(x)
# 移动球拍 B
def paddle_b_left():
x = paddle_b.xcor()
if x > -380:
x -= 20
paddle_b.setx(x)
def paddle_b_right():
x = paddle_b.xcor()
if x < 380:
x += 20
paddle_b.setx(x)
# 键盘监听
win.listen()
win.onkeypress(paddle_a_left, "a")
win.onkeypress(paddle_a_right, "d")
win.onkeypress(paddle_b_left, "Left")
win.onkeypress(paddle_b_right, "Right")
# 游戏循环
while True:
win.update()
# 移动乒乓球
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
# 碰撞检测
if ball.ycor() > 290:
ball.sety(290)
ball.dy *= -1
if ball.ycor() < -290:
ball.sety(-290)
ball.dy *= -1
if ball.xcor() > 390:
ball.goto(0, 0)
ball.dx *= -1
if ball.xcor() < -390:
ball.goto(0, 0)
ball.dx *= -1
if (ball.ycor() > 240 and ball.ycor() < 250) and (ball.xcor() > paddle_b.xcor() - 50 and ball.xcor() < paddle_b.xcor() + 50):
ball.sety(240)
ball.dy *= -1
if (ball.ycor() < -240 and ball.ycor() > -250) and (ball.xcor() > paddle_a.xcor() - 50 and ball.xcor() < paddle_a.xcor() + 50):
ball.sety(-240)
ball.dy *= -1
该代码使用了Python的turtle模块来创建游戏窗口和游戏元素。游戏窗口大小为800x600,乒乓球和球拍的移动通过控制球拍的x坐标来实现。玩家可以使用键盘上的a和d键来控制球拍A的移动,使用左右方向键来控制球拍B的移动。乒乓球会在碰到边界或球拍时反弹。
你可以复制上述代码并运行它来体验乒乓球游戏
原文地址: https://www.cveoy.top/t/topic/hO1p 著作权归作者所有。请勿转载和采集!