質問編集履歴

5

読みやすさ

2016/05/18 10:47

投稿

gyro16
gyro16

スコア89

test CHANGED
File without changes
test CHANGED
@@ -266,6 +266,8 @@
266
266
 
267
267
  それでもうまくいきませんが。
268
268
 
269
+
270
+
269
271
  public class Stone extends Te{
270
272
 
271
273
  final int STONE = 0;

4

説明

2016/05/18 10:47

投稿

gyro16
gyro16

スコア89

test CHANGED
File without changes
test CHANGED
@@ -174,9 +174,9 @@
174
174
 
175
175
  }
176
176
 
177
- System.out.println("w" + winFlg);//
177
+ System.out.println("w" + winFlg);// テスト出力
178
-
178
+
179
- System.out.println("l" + loseFlg);//
179
+ System.out.println("l" + loseFlg);// テスト出力
180
180
 
181
181
  if((winFlg == true) && (loseFlg == false)){
182
182
 

3

追記

2016/05/18 10:45

投稿

gyro16
gyro16

スコア89

test CHANGED
File without changes
test CHANGED
@@ -224,6 +224,48 @@
224
224
 
225
225
  ###補足情報(言語/FW/ツール等のバージョンなど)
226
226
 
227
+
228
+
229
+ 上のコードを下記に変更しましたが、うまくいきません。
230
+
231
+
232
+
233
+ for(int a = 0; a < winPattern.length; a++){
234
+
235
+
236
+
237
+ Te poiA = turn[0][0];// hands[i]
238
+
239
+ Te poiB = turn[0][1];// hands[j]
240
+
241
+ Te wpatternA = winPattern[a][0];
242
+
243
+ Te wpatternB = winPattern[a][1];
244
+
245
+
246
+
247
+ Te lpatternA = losePattern[a][0];
248
+
249
+ Te lpatternB = losePattern[a][1];
250
+
251
+ if((poiA.equals(wpatternA)) && (poiB.equals(wpatternB))){
252
+
253
+ winFlg = true;
254
+
255
+ } else if((poiA.equals(lpatternA)) && (poiB.equals(lpatternB))){
256
+
257
+ loseFlg = true;
258
+
259
+ }
260
+
261
+ }
262
+
263
+
264
+
265
+ こういうことですかね。
266
+
267
+ それでもうまくいきませんが。
268
+
227
269
  public class Stone extends Te{
228
270
 
229
271
  final int STONE = 0;

2

追記

2016/05/18 10:43

投稿

gyro16
gyro16

スコア89

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,9 @@
1
1
  ###前提・実現したいこと
2
2
 
3
+ クラスの2次元配列を使っていますが、それで勝敗判定を正確にすること。
4
+
5
+
6
+
3
7
  ジャンケンの勝敗判定したいです。
4
8
 
5
9
  ジャンケンの勝敗判定が正確にできません。
@@ -10,6 +14,8 @@
10
14
 
11
15
 
12
16
 
17
+
18
+
13
19
  ###発生している問題・エラーメッセージ
14
20
 
15
21
  どんな結果でも引き分け判定になる

1

ソースコードの改良

2016/05/18 09:41

投稿

gyro16
gyro16

スコア89

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,8 @@
20
20
 
21
21
  ```
22
22
 
23
+ public class JudgeC{
24
+
23
25
  List<PlayerC> winners;
24
26
 
25
27
  boolean winFlg;
@@ -144,70 +146,60 @@
144
146
 
145
147
  Te poi = turn[0][0];
146
148
 
147
- Te pattern = winPattern[a][b];
149
+ Te wpattern = winPattern[a][b];
148
-
150
+
149
- if(poi.equals(pattern)){
151
+ if(poi.equals(wpattern)){
150
152
 
151
153
  winFlg = true;
152
154
 
153
155
  }
154
156
 
157
+ Te lpattern = losePattern[a][b];
158
+
159
+ if(poi.equals(lpattern)){
160
+
161
+ loseFlg = true;
162
+
163
+ }
164
+
155
165
  }
156
166
 
157
167
  }
158
168
 
159
- for(int a = 0; a < losePattern.length; a++){
160
-
161
- for(int b = 0; b < losePattern[a].length; b++){
162
-
163
- Te poi = turn[0][0];
164
-
165
- Te pattern = losePattern[a][b];
166
-
167
- if(poi.equals(pattern)){
168
-
169
- loseFlg = true;
170
-
171
- }
169
+ }
170
+
172
-
171
+ System.out.println("w" + winFlg);//
172
+
173
+ System.out.println("l" + loseFlg);//
174
+
175
+ if((winFlg == true) && (loseFlg == false)){
176
+
177
+ switch(i){
178
+
179
+ case 0:
180
+
181
+ winners.add(player1);
182
+
173
- }
183
+ break;
184
+
185
+ case 1:
186
+
187
+ winners.add(player2);
188
+
189
+ break;
190
+
191
+ case 2:
192
+
193
+ winners.add(player3);
194
+
195
+ break;
196
+
197
+ default:
198
+
199
+ break;
174
200
 
175
201
  }
176
202
 
177
- }
178
-
179
- System.out.println(winFlg);//
180
-
181
- System.out.println(loseFlg);//
182
-
183
- if((winFlg == true) && (loseFlg == false)){
184
-
185
- switch(i){
186
-
187
- case 0:
188
-
189
- winners.add(player1);
190
-
191
- break;
192
-
193
- case 1:
194
-
195
- winners.add(player2);
196
-
197
- break;
198
-
199
- case 2:
200
-
201
- winners.add(player3);
202
-
203
- break;
204
-
205
- default:
206
-
207
- break;
208
-
209
- }
210
-
211
203
  }
212
204
 
213
205
  }
@@ -236,25 +228,17 @@
236
228
 
237
229
  public boolean equals(Object o){
238
230
 
239
- if(this == o){ return true; }
231
+ if(o == this){ return true; }
240
232
 
241
233
  if(o == null){ return false; }
242
234
 
243
- if(o instanceof Te){
244
-
245
- Te t = (Te) o;
246
-
247
- if(t instanceof Stone){
235
+ if(!(o instanceof Stone)){ return false; }
248
-
236
+
249
- Stone s = (Stone) t;
237
+ Stone s = (Stone) o;
238
+
250
-
239
+ if(!(s.hand == this.hand)){ return false; }
240
+
251
- return true;
241
+ return true;
252
-
253
- }
254
-
255
- }
256
-
257
- return false;
258
242
 
259
243
  }
260
244