回答編集履歴
3
インデント修正
test
CHANGED
@@ -34,16 +34,16 @@
|
|
34
34
|
|
35
35
|
// 画面外に出たら消滅
|
36
36
|
if (g_stagedata.balls[i].x > g_stagedata.scrollx + 1000 ||
|
37
|
-
|
37
|
+
g_stagedata.balls[i].x < g_stagedata.scrollx - 1000) {
|
38
38
|
g_stagedata.balls[i].living = FALSE;
|
39
|
-
|
39
|
+
continue;
|
40
40
|
} else {
|
41
41
|
// マップ当たり判定
|
42
42
|
AtariInfo atari = CheckBlock(g_stagedata.balls[i].x, g_stagedata.balls[i].y, g_stagedata.balls[i].x);
|
43
43
|
if (atari.DR == TRUE || atari.UR == TRUE) {
|
44
|
-
|
44
|
+
g_stagedata.balls[i].living = FALSE;
|
45
|
-
|
45
|
+
continue;
|
46
|
-
|
46
|
+
}
|
47
47
|
}
|
48
48
|
|
49
49
|
DrawGraph((int)(g_stagedata.balls[i].x - g_stagedata.scrollx), (int)g_stagedata.balls[i].y, g_imghandles.ball, TRUE);
|
2
修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
右と左で計算式の一部値の符号しか変わらないので、それを返す関数を一つ作るだけで、左右別の条件を作る必要が無くなります。
|
2
|
-
また、ボールの移動方向は発射時の hero の turn ですが、turn は mv の符号にしか影響しませんので、最初から mv を balls に作っておいて発射時に mv / -mv を入れてしまえば、移動時に向きを見る必要
|
2
|
+
また、ボールの移動方向は「発射時の hero の turn 」のみで決まるのは大前提ですが、turn は mv の符号にしか影響しませんので、最初から mv を balls に作っておいて発射時に mv / -mv を入れてしまえば、移動時に向きを見る必要も無くなります。
|
3
|
-
(ついでに mv の計算も発射時に毎回する必要は無さそうに思います。)
|
3
|
+
(ついでに mv の計算も発射時に毎回する必要は無さそうに思います。→ 発射ボタンによっては早い/遅いボールを撃てる?)
|
4
4
|
(さらについでに、 "DrawBall" という名前の関数で "移動" から "発射処理" まで行うのは変な気がします。)
|
5
5
|
|
6
6
|
※コンパイルも何も出来ないので切り貼りしたイメージコードです。コンパイルエラーその他が発生する可能性があります。
|
1
追加
test
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
右と左で計算式の一部値の符号しか変わらないので、それを返す関数を一つ作るだけで、左右別の条件を作る必要が無くなります。
|
2
2
|
また、ボールの移動方向は発射時の hero の turn ですが、turn は mv の符号にしか影響しませんので、最初から mv を balls に作っておいて発射時に mv / -mv を入れてしまえば、移動時に向きを見る必要がありません。
|
3
3
|
(ついでに mv の計算も発射時に毎回する必要は無さそうに思います。)
|
4
|
+
(さらについでに、 "DrawBall" という名前の関数で "移動" から "発射処理" まで行うのは変な気がします。)
|
4
5
|
|
5
6
|
※コンパイルも何も出来ないので切り貼りしたイメージコードです。コンパイルエラーその他が発生する可能性があります。
|
6
7
|
```c?
|