回答編集履歴
1
座標の計算が一部おかしかったので修正
test
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
-
ボールの初期位置は`ball.goto(5, 5)`のように、x座標とy座標をカンマ区切りで指定します。元のコードでは(5, 5)に設定しようとして失敗していますが、パドルで受け止め損ねて再開するときは(0, 0)に設定しているので、ここでは(0, 0)に揃えてみました。
|
83
|
+
ボールの初期位置は`ball.goto(5, 5)`のように、x座標とy座標をカンマ区切りで指定します。元のコードでは(5, 5)に設定しようとして(カンマではなくドットを書いて)失敗していますが、パドルで受け止め損ねて再開するときは(0, 0)に設定しているので、ここでは(0, 0)に揃えてみました。
|
84
84
|
|
85
85
|
|
86
86
|
|
@@ -134,39 +134,7 @@
|
|
134
134
|
|
135
135
|
|
136
136
|
|
137
|
-
ボールのx座標を得る`ball.xcor()`や、y
|
137
|
+
ボールのx座標を得る`ball.xcor()`や、y座標を得る`ball.ycor()`には引数を指定しません。それらの返り値に対して、`ballxdirection`や`ballydirection`を加算してください。
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
### 画面の上下端でボールが跳ねる処理
|
142
|
-
|
143
|
-
```diff
|
144
|
-
|
145
|
-
- if ball.ycor() > 290:
|
146
|
-
|
147
|
-
- ball.sety(290)
|
148
|
-
|
149
|
-
+ if ball.ycor() > 280:
|
150
|
-
|
151
|
-
+ ball.sety(280)
|
152
|
-
|
153
|
-
ballydirection = ballydirection * -1
|
154
|
-
|
155
|
-
- if ball.ycor() < -290:
|
156
|
-
|
157
|
-
- ball.sety(-290)
|
158
|
-
|
159
|
-
+ if ball.ycor() < -280:
|
160
|
-
|
161
|
-
+ ball.sety(-280)
|
162
|
-
|
163
|
-
ballydirection = ballydirection * -1
|
164
|
-
|
165
|
-
```
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
ボールの半径が10ピクセル(直径は20ピクセル)、画面の高さが600ピクセルなので、概算で(-300, 300)の範囲と見なし、ボールの一部が画面からはみ出さないように、±280を比較対象としています。
|
170
138
|
|
171
139
|
|
172
140
|
|
@@ -176,7 +144,7 @@
|
|
176
144
|
|
177
145
|
- if (ball.xcor()) < -390:
|
178
146
|
|
179
|
-
+ if ball.xcor() < -3
|
147
|
+
+ if ball.xcor() < -390:
|
180
148
|
|
181
149
|
ball.goto(0, 0)
|
182
150
|
|
@@ -194,7 +162,7 @@
|
|
194
162
|
|
195
163
|
|
196
164
|
|
197
|
-
+ if ball.xcor() > 3
|
165
|
+
+ if ball.xcor() > 390:
|
198
166
|
|
199
167
|
+ ball.goto(0, 0)
|
200
168
|
|
@@ -212,7 +180,7 @@
|
|
212
180
|
|
213
181
|
|
214
182
|
|
215
|
-
ボールの半径が10ピクセル(直径は20ピクセル)、画面の幅が800ピクセルなので、概算で(-400, 400)の範囲と見なし、ボールの一部が画面からはみ出さないように、±3
|
183
|
+
ボールの半径が10ピクセル(直径は20ピクセル)、画面の幅が800ピクセルなので、概算で(-400, 400)の範囲と見なし、ボールの一部が画面からはみ出さないように、±390を比較対象としています。
|
216
184
|
|
217
185
|
|
218
186
|
|