前提・実現したいこと
初心者です。
pythonでtrurtle をimportしピンポンゲームを作っています。
発生している問題・エラーメッセージ
Python
1Traceback (most recent call last): 2 File "C:\Users\1200728\Desktop\test\test.py", line 29, in <module> 3 ball.speed(0) 4 File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\turtle.py", line 2168, in speed 5 return self._speed 6AttributeError: 'int' object has no attribute '_speed' 7 8### 該当のソースコード 9import turtle as t 10playerAscore=0 11playerBscore=0 12window=t.Screen() 13window.title=("pong game") 14window.bgcolor("green") 15window.setup(width=800,height=600) 16window.tracer(0) 17 18 19leftpaddle=t.Turtle() 20leftpaddle.speed(0) 21leftpaddle.shape("square") 22leftpaddle.color("white") 23leftpaddle.shapesize(stretch_wid=5,stretch_len=1) 24leftpaddle.penup() 25leftpaddle.goto(-350,0) 26 27rightpaddle=t.Turtle() 28rightpaddle.speed(0) 29rightpaddle.shape("square") 30rightpaddle.color("white") 31rightpaddle.shapesize(stretch_wid=5,stretch_len=1) 32rightpaddle.penup() 33rightpaddle.goto(-350,0) 34 35 36ball=t.Turtle 37ball.speed(0) 38ball.shape("circle") 39ball.color("red") 40ball.penup() 41ball.goto(5.5) 42ballxdirection=0.2 43ballydirection=0.2 44 45 46pen=t.Turtle 47pen.speed(0) 48pen.color("Blue") 49pen.penup() 50pen.hideturtle() 51pen.goto(0,260) 52pen.write("score",align="center",font=('Arial',24,'Normal' )) 53 54 55def leftpaddleup(): 56 y=leftpaddle.ycor() 57 y=y+90 58 leftpaddle.sety(y) 59 60def leftpaddledown(): 61 y=leftpaddle.ycor() 62 y=y-90 63 leftpaddle.sety(y) 64 65def rightpaddleup(): 66 y=rightpaddle.ycor() 67 y=y+90 68 rightpaddle.sety(y) 69 70def rightpaddledown(): 71 y=rightpaddle.ycor() 72 y=y-90 73 rightpaddle.sety(y) 74 75 76window.listen() 77window.onkeypress(leftpaddleup,'w') 78window.onkeypress(leftpaddledown,'s') 79window.onkeypress(rightpaddleup,'Up') 80window.onkeypress(leftpaddledown,'Down') 81 82while True: 83 window.update() 84 85 86 ball.setx(ball.xcor(+ballxdirection)) 87 ball.sety(ball.ycor(+ballydirection)) 88 89 if ball.ycor()>290: 90 ball.sety(290) 91 ballydirection=ballydirection*-1 92 if ball.ycor()<-290: 93 ball.sety(-290) 94 ballydirection=ballydirection*-1 95 96 if (ball.xcor())<-390: 97 ball.goto(0,0) 98 ballxdirection=ballxdirection*-1 99 playerAscore=playerBscore+1 100 pen.clear() 101 pen.write("player A:{} player B:{}".format(playerAscore,playerBscore),align='center',font=('Arial',24,'normal')) 102 103 104 if (ball.xcor()>340)and(ball.xcor()<350)and(ball.ycor()<rightpaddle.ycor()+40 and ball.ycor()>rightpaddle.ycor()-40): 105 ball.setx(340) 106 ballxdirection=ballxdirection*-1 107 108 109 if (ball.xcor()<-340)and(ball.xcor()<-350)and(ball.ycor()<leftpaddle.ycor()+40 and ball.ycor()>leftpaddle.ycor()-40): 110 ball.setx(340) 111 ballxdirection=ballxdirection*-1
試したこと
その前に出ていたsyntax errorはすべて修正しました。
AttributeErrorについてたくさん調べたのですがよくわかりません。
親切な方、ご回答お願い致しますm(__)m
補足情報(FW/ツールのバージョンなど)
python version 3.9
回答2件
あなたの回答
tips
プレビュー