回答編集履歴

2

Anyを使った具体例を書いてみました

2017/08/24 14:28

投稿

kanitaoru
kanitaoru

スコア204

test CHANGED
@@ -15,3 +15,61 @@
15
15
 
16
16
 
17
17
  を使う方が効率良さそうですね
18
+
19
+
20
+
21
+ ====追記1
22
+
23
+
24
+
25
+ 具体的には以下のような感じでどうでしょうか。
26
+
27
+ 整理しやすいように条件分岐を分解しています。
28
+
29
+
30
+
31
+ ```
32
+
33
+ // Playerオブジェクトを中心に-10から10の範囲で
34
+
35
+ for (int y = -10; y <= 10; y++)
36
+
37
+ {
38
+
39
+ for (int x = -10; x <= 10; x++)
40
+
41
+ {
42
+
43
+ // 中心(0, 0)にあるPlayerオブジェクトの座標を除く
44
+
45
+ if (x == 0 && y == 0)
46
+
47
+ {
48
+
49
+ continue;
50
+
51
+ }
52
+
53
+
54
+
55
+ // (x,y) に敵がいたら何もしない
56
+
57
+ // enemyCoordinate に (x,y) が含まれているかどうかの確認
58
+
59
+ if (enemyController.enemyCoordinate.Any(coord => coord.x == x && coord.y == y))
60
+
61
+ {
62
+
63
+ continue;
64
+
65
+ }
66
+
67
+
68
+
69
+ //----やりたい処理ここから----
70
+
71
+ }
72
+
73
+ }
74
+
75
+ ```

1

Any使った方が良さそうだったので編集します

2017/08/24 14:28

投稿

kanitaoru
kanitaoru

スコア204

test CHANGED
@@ -3,3 +3,15 @@
3
3
 
4
4
 
5
5
  enemyCoodinate.All(coord => coord.x == x && coord.y == y)
6
+
7
+
8
+
9
+ 逆に、一つでも当てはまったら何もしないとも言えるので、
10
+
11
+
12
+
13
+ enemyCoodinate.Any(coord => coord.x == x &coord.y == y)
14
+
15
+
16
+
17
+ を使う方が効率良さそうですね