前提・実現したいこと
初心者です。
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
・コードは「コードの挿入」で記入してください。
・タイトルに初心者と書くよりも初心者マークを着けた方が良いかと思います。
ありがとうございます。修正しました。
ball,penと
leftpaddle,rightpaddleのソースコード上の違いは把握されてますか。
> ありがとうございます。修正しました。
コード部分の修正に失敗していますね。
1. コードを載せたい位置に空行(何も書いていない行)を作り、そこをクリックしてから「<code>」ボタンを押す。
2. 「ここに言語を入力」の文字を全て消して、先頭の「```」の直後に「Python」と書く→挿入部分の先頭行は「```Python」となる。
3. 「コード」の文字を全て消して、あなたがコードを書いているアプリ(VSCodeなど)から、コードを全てコピーし、貼り付ける。
4. 貼り付けたコードの末尾に、「```」だけの行があることを確認する。もし、コードの末尾の行と「```」が1行に繋がっていたら、間をクリックしてEnterキーで分離する→挿入部分の末尾行は「```」になる。
5. 下に表示されるプレビューで表示を確認する。四角い灰色の領域の中にコードだけが表示されます。
このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
<code>ボタンの存在を知りませんでした(>_<)教えてくださってありがとうございます!
>>ball,penと
leftpaddle,rightpaddleのソースコード上の違いは把握されてますか。
えっとそれぞれの機能を表していることはわかります。
詳しいことは把握しているかどうか。。。
回答2件
あなたの回答
tips
プレビュー