Python Öğreniyorum 13 – Pythonda pinpong oyunu yapma
Python Öğreniyorum 13 – Pythonda pinpong oyunu yapma. Merhabalar, bu videomuzda pyhton programlama dilinde turtle modülünü kullanarak pinpong oyunu yapacağız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
import turtle, winsound pencere = turtle.Screen() pencere.title("PinPong") pencere.bgcolor("black") pencere.setup(width=800, height=600) pencere.tracer(0) raket_a = turtle.Turtle() raket_a.speed(0) raket_a.shape('square') raket_a.color('white') raket_a.penup() raket_a.goto(-350, 0) raket_a.shapesize(5, 1) raket_b = turtle.Turtle() raket_b.speed(0) raket_b.shape('square') raket_b.color('white') raket_b.penup() raket_b.goto(350, 0) raket_b.shapesize(5, 1) ball = turtle.Turtle() ball.speed(0) ball.shape('circle') ball.color('white') ball.penup() ball.dx = 0.15 ball.dy = 0.15 yazi = turtle.Turtle() yazi.speed(0) yazi.color('white') yazi.penup() yazi.goto(0, 260) yazi.write("Oyuncu A:0 Oyuncu B:0", align='center', font=('Courier', 24, 'bold')) yazi.hideturtle() puan_a = 0 puan_b = 0 def raket_a_up(): y = raket_a.ycor() y = y + 20 raket_a.sety(y) def raket_a_down(): y = raket_a.ycor() y = y - 20 raket_a.sety(y) def raket_b_up(): y = raket_b.ycor() y = y + 20 raket_b.sety(y) def raket_b_down(): y = raket_b.ycor() y = y - 20 raket_b.sety(y) pencere.listen() pencere.onkeypress(raket_a_up, 'w') pencere.onkeypress(raket_a_down, 's') pencere.onkeypress(raket_b_up, 'Up') pencere.onkeypress(raket_b_down, 'Down') while True: pencere.update() ball.setx(ball.xcor() + ball.dx) ball.sety(ball.ycor() + ball.dy) if ball.ycor()>290 or ball.ycor()<-290: ball.dy = ball.dy * -1 if ball.xcor()>390: winsound.PlaySound('bounce.wav', winsound.SND_ASYNC) ball.goto(0, 0) ball.dx = ball.dx * -1 puan_a = puan_a + 1 yazi.clear() yazi.write("Oyuncu A:{} Oyuncu B:{}".format(puan_a, puan_b), align='center', font=('Courier', 24, 'bold')) if ball.xcor()<-390: winsound.PlaySound('bounce.wav', winsound.SND_ASYNC) ball.goto(0, 0) ball.dx = ball.dx * -1 puan_b = puan_b + 1 yazi.clear() yazi.write("Oyuncu A:{} Oyuncu B:{}".format(puan_a, puan_b), align='center', font=('Courier', 24, 'bold')) if (ball.xcor()>340 and ball.xcor()<350) and (ball.ycor()<raket_b.ycor()+60 and ball.ycor()>raket_b.ycor()-60): winsound.PlaySound('bounce.wav', winsound.SND_ASYNC) ball.setx(340) ball.dx = ball.dx * -1 if (ball.xcor()<-340 and ball.xcor()>-350) and (ball.ycor()<raket_a.ycor()+60 and ball.ycor()>raket_a.ycor()-60): winsound.PlaySound('bounce.wav', winsound.SND_ASYNC) ball.setx(-340) ball.dx = ball.dx * -1 |
Ben pinpong oyununda ses dosyaları hariç herşeyi yaptım fakat açılmadı yazım hatası olma ihtimalı var mı? Yoksa bilgisayarla alakı bişey mi ?
kodu görmek lazım, buraya kopyalayın bakayım
abi bende şu
pencere.onkeypress kodunu özel durum olduğunu belirtiyor sizin full kodunuzuda denedim
ama yine aynı şey oluyor bu neyden kaynaklı?
onkey deneyin
bende ses dosyalarını kullanmadan yaptım ama top sabit ve b değeri sürekli artıyor:
import turtle
pencere = turtle.Screen()
pencere.title(“ping pong bitches”)
pencere.bgcolor(“black”)
pencere.setup(width=800,height=600)
pencere.tracer(0)
araket = turtle.Turtle()
araket.speed(0)
araket.shape(“square”)
araket.color(“white”)
araket.penup()
araket.goto(-350,0)
araket.shapesize(5,1)
raketb = turtle.Turtle()
raketb.speed(0)
raketb.shape(“square”)
raketb.color(“white”)
raketb.penup()
raketb.goto(350,0)
raketb.shapesize(5,1)
ball = turtle.Turtle()
ball.speed(0)
ball.shape(“circle”)
ball.color(“red”)
ball.penup()
ball.dx = 0.15
ball.dy = 0.15
yazi = turtle.Turtle()
yazi.speed(0)
yazi.color(“white”)
yazi.penup()
yazi.goto(0,260)
yazi.write(“OyuncuA: 0 OyuncuB:0″,align=”center”,font=(“courier”,24,”bold”))
yazi.hideturtle()
puana = 0
puanb = 0
def araket_yukari():
y = araket.ycor()
y = y +20
araket.sety(y)
def araket_assagi():
y = araket.ycor()
y = y – 20
araket.sety(y)
def raketb_yukari():
y = raketb.ycor()
y = y + 20
raketb.sety(y)
def raketb_assagi():
y = raketb.ycor()
y = y – 20
raketb.sety(y)
pencere.listen()
pencere.onkeypress(araket_yukari,”w”)
pencere.onkeypress(araket_assagi,”s”)
pencere.onkeypress(raketb_yukari,”Up”)
pencere.onkeypress(raketb_assagi,”Down”)
while True:
pencere.update()
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
if ball.ycor()>290 or ball.ycor()390:
ball.goto(0,0)
ball.dx = ball.dx * -1
puana = puana + 1
yazi.clear()
yazi.write(“OyuncuA:{} OyuncuB:{}”.format(puana,puanb), align=”center”, font=(“courier”, 24, “bold”))
if ball.xcor()>-390:
ball.goto(0,0)
ball.dx = ball.dx * -1
puanb = puanb + 1
yazi.clear()
yazi.write(“OyuncuA:{} OyuncuB:{}”.format(puana, puanb), align=”center”, font=(“courier”, 24, “bold”))
if ball.xcor()>340 and ball.xcor()<350 and ball.ycor()<raketb.ycor()+60 and ball.ycor()-340 and ball.xcor()<-350 and ball.ycor()<araket.ycor()+60 and ball.ycor()<araket.ycor()-60 :
ball.setx(-340)
ball.dx = ball.dx * -1
import turtle
pencere = turtle.Screen()
pencere.title(“ping pong bitches”)
pencere.bgcolor(“black”)
pencere.setup(width=800,height=600)
pencere.tracer(0)
araket = turtle.Turtle()
araket.speed(0)
araket.shape(“square”)
araket.color(“white”)
araket.penup()
araket.goto(-350,0)
araket.shapesize(5,1)
raketb = turtle.Turtle()
raketb.speed(0)
raketb.shape(“square”)
raketb.color(“white”)
raketb.penup()
raketb.goto(350,0)
raketb.shapesize(5,1)
ball = turtle.Turtle()
ball.speed(0)
ball.shape(“circle”)
ball.color(“red”)
ball.penup()
ball.dx = 0.15
ball.dy = 0.15
yazi = turtle.Turtle()
yazi.speed(0)
yazi.color(“white”)
yazi.penup()
yazi.goto(0,260)
yazi.write(“OyuncuA: 0 OyuncuB:0″,align=”center”,font=(“courier”,24,”bold”))
yazi.hideturtle()
puana = 0
puanb = 0
def araket_yukari():
y = araket.ycor()
y = y +20
araket.sety(y)
def araket_assagi():
y = araket.ycor()
y = y – 20
araket.sety(y)
def raketb_yukari():
y = raketb.ycor()
y = y + 20
raketb.sety(y)
def raketb_assagi():
y = raketb.ycor()
y = y – 20
raketb.sety(y)
pencere.listen()
pencere.onkeypress(araket_yukari,”w”)
pencere.onkeypress(araket_assagi,”s”)
pencere.onkeypress(raketb_yukari,”Up”)
pencere.onkeypress(raketb_assagi,”Down”)
while True:
pencere.update()
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
if ball.ycor()>290 or ball.ycor()<-290: ball.dy = ball.dy * -1 if ball.xcor() > 390:
ball.goto(0,0)
ball.dx = ball.dx * -1
puana = puana + 1
yazi.clear()
yazi.write(“OyuncuA:{} OyuncuB:{}”.format(puana,puanb), align=”center”, font=(“courier”, 24, “bold”))
if ball.xcor()<-390: ball.goto(0,0) ball.dx = ball.dx * -1 puanb = puanb + 1 yazi.clear() yazi.write("OyuncuA:{} OyuncuB:{}".format(puana, puanb), align="center", font=("courier", 24, "bold")) if (ball.xcor() > 340 and ball.xcor() < 350) and (ball.ycor() < raketb.ycor() + 60 and ball.ycor() > raketb.ycor() – 60):
ball.setx(340)
ball.dx = ball.dx * -1
if (ball.xcor() < -340 and ball.xcor() > -350) and (ball.ycor() < araket.ycor() + 60 and ball.ycor() > araket.ycor() – 60):
ball.setx(-340)
ball.dx = ball.dx * -1