antworte auf deutsch schreibe pong in python
Klar, hier ist der Code für Pong in Python:
import turtle
# Fenster erstellen
fenster = turtle.Screen()
fenster.title("Pong-Spiel")
fenster.bgcolor("black")
fenster.setup(width=600, height=400)
# Spielfeld erstellen
spielfeld = turtle.Turtle()
spielfeld.speed(0)
spielfeld.color("white")
spielfeld.penup()
spielfeld.goto(0, 0)
spielfeld.pendown()
spielfeld.goto(300, 0)
spielfeld.goto(-300, 0)
spielfeld.penup()
spielfeld.goto(0, 200)
spielfeld.pendown()
spielfeld.goto(0, -200)
# Ball erstellen
ball = turtle.Turtle()
ball.speed(40)
ball.shape("circle")
ball.color("white")
ball.penup()
ball.goto(0, 0)
ball.dx = 2
ball.dy = -2
# Schläger A erstellen
schlaeger_a = turtle.Turtle()
schlaeger_a.speed(0)
schlaeger_a.shape("square")
schlaeger_a.color("white")
schlaeger_a.shapesize(stretch_wid=5, stretch_len=1)
schlaeger_a.penup()
schlaeger_a.goto(-250, 0)
# Schläger B erstellen
schlaeger_b = turtle.Turtle()
schlaeger_b.speed(0)
schlaeger_b.shape("square")
schlaeger_b.color("white")
schlaeger_b.shapesize(stretch_wid=5, stretch_len=1)
schlaeger_b.penup()
schlaeger_b.goto(250, 0)
# Funktionen zum Bewegen der Schläger
def schlaeger_a_hoch():
y = schlaeger_a.ycor()
y += 20
schlaeger_a.sety(y)
def schlaeger_a_runter():
y = schlaeger_a.ycor()
y -= 20
schlaeger_a.sety(y)
def schlaeger_b_hoch():
y = schlaeger_b.ycor()
y += 20
schlaeger_b.sety(y)
def schlaeger_b_runter():
y = schlaeger_b.ycor()
y -= 20
schlaeger_b.sety(y)
# Tastensteuerung
fenster.listen()
fenster.onkeypress(schlaeger_a_hoch, "w")
fenster.onkeypress(schlaeger_a_runter, "s")
fenster.onkeypress(schlaeger_b_hoch, "Up")
fenster.onkeypress(schlaeger_b_runter, "Down")
# Hauptspiel-Schleife
while True:
fenster.update()
# Ball bewegen
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
# Ball-Abprall von oberer und unterer Grenze
if ball.ycor() > 190 or ball.ycor() < -190:
ball.dy *= -1
# Ball-Abprall von Schlägern
if ball.xcor() < -240 and ball.ycor() < schlaeger_a.ycor() + 50 and ball.ycor() > schlaeger_a.ycor() - 50:
ball.dx *= -1
elif ball.xcor() > 240 and ball.ycor() < schlaeger_b.ycor() + 50 and ball.ycor() > schlaeger_b.ycor() - 50:
ball.dx *= -1
# Punkte zählen
if ball.xcor() > 290:
ball.goto(0, 0)
ball.dx *= -1
elif ball.xcor() < -290:
ball.goto(0, 0)
ball.dx *= -1
Ich hoffe, das hilft!
原文地址: https://www.cveoy.top/t/topic/bkhY 著作权归作者所有。请勿转载和采集!