回答編集履歴

1

追記

2021/08/31 05:48

投稿

YAmaGNZ
YAmaGNZ

スコア10489

test CHANGED
@@ -103,3 +103,65 @@
103
103
  蛇足かもしれませんがNumberControllerクラスのほうで
104
104
 
105
105
  Updateメソッド内で`rightnumrandom==1`と判定していますが、rightnumrandomはStartメソッドにてrightnumrandomを乱数からセットしているだけで変化しませんがいいのでしょうか?
106
+
107
+
108
+
109
+ ---
110
+
111
+ ### 追記
112
+
113
+
114
+
115
+ 今一理解し切れていないのですがmigibapos.xの値によっての条件判断のようですから1~9の複数がヒットすることはないと思います。
116
+
117
+ なので
118
+
119
+
120
+
121
+ ```C#
122
+
123
+ if (migibapos.x <= 3.551f && migibapos.x >= 1.472f)
124
+
125
+ {
126
+
127
+ int nowPosition = (int)((3.551f- migibapos.x) / 0.231f);
128
+
129
+ for (int i = 0; i < rightbar.Length; i++) rightbar[i] = false;
130
+
131
+
132
+
133
+ if(rightarea[nowPosition] == true)
134
+
135
+ {
136
+
137
+ rightbar[nowPosition] = true;
138
+
139
+ Debug.Log($"右{nowPosition + 1} OK");
140
+
141
+ }
142
+
143
+ else
144
+
145
+ {
146
+
147
+ Debug.Log("右なし");
148
+
149
+ }
150
+
151
+ }
152
+
153
+ else
154
+
155
+ {
156
+
157
+ Debug.Log("右なし");
158
+
159
+ }
160
+
161
+ ```
162
+
163
+ といった感じでmigibapos.xからどの位置に該当するか計算し、そこが有効なのかという方法でいいように思えます。
164
+
165
+ そうすればループする必要もなくなりますしleftareaも同様に求めて、それが有効なのか調べればいいように思います。
166
+
167
+ どうしても9X9の判断が必要であれば、takasima20さんの仰るように2重ループで処理を行うのがいいでしょう。