teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

変更

2019/01/16 09:19

投稿

Chandler_Bing
Chandler_Bing

スコア673

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,34 @@
1
- 以下コードと実行時一番初め画面です。
1
+ 以下コードい対する私理解確認と疑問点への回答をお願いします。
2
- 画像は
3
- src/Slot1.jpgには1の画像
4
- src/Slot2.jpgには2の画像、のように数字に対応した画像が7まで入っています。
5
2
 
6
- 質問
3
+ 理解確認(実行しスタートボタンのみ押した場合の一番は初めの変化)
7
- 終盤方のコメントアウト(//質問です)のコードの書き方では、画像の数字が2ずつ増えていくような気がします。事実最初の実行で1、3、5が全て2ずつ増えていくですが、そのあとは1ずつしか増えません。なぜでしょうか。どこでそのように制御していまか。
4
+ ArrayListslotに入っている画像とint配列変iCount以下のように変化
8
5
 
6
+ slot(インデックス0)slot.jpg1→slot3.jpg
7
+ slot(インデックス1)slot.jpg3→slot5.jpg
8
+ slot(インデックス2)slot.jpg5→slot7.jpg
9
+
10
+ iCount{1,3,5}→iCount{2,4,6}
11
+
12
+ 理解確認❷(❶のあとストップボタンを押さなかった場合)
13
+ slotの画像、iCount共に1づつ増えていく。
14
+
15
+ 自分でも確認しましたが、理解はあっておりますでしょうか。
16
+
17
+ 疑問点❶
18
+ switch文の中の
19
+
20
+ case THREE:
21
+ timer.stop();
22
+ if (iCount[0] == iCount[1] && iCount[1] == iCount[2]) {
23
+ if (iCount[0] == MAX - 1)
24
+ lbel.setText("やった!!最高得点だ");
25
+ else
26
+ lbel.setText("やった!!おめでとう");
27
+ } else
28
+
29
+ ですがなぜif (iCount[0] == MAX - 1)をするのでしょうか。
30
+ 7が三つ揃えばlbel.setText("やった!!最高得点だ");表示されますが、なぜ配列の1番目が6であれば良いのでしょうか。
31
+
9
32
  ```Java
10
33
  package week11;
11
34
 
@@ -85,7 +108,7 @@
85
108
  for (; i < iCount.length; i++) {
86
109
  if (++iCount[i] == MAX)
87
110
  iCount[i] = 0;
88
- slot.get(i).setIcon(SlotImage.get(iCount[i]));//質問です
111
+ slot.get(i).setIcon(SlotImage.get(iCount[i]));
89
112
  }
90
113
  }
91
114
  if (e.getSource() == bt[0]) {