質問編集履歴

1

インデントなどを見やすいように工夫しました。また、参考までに他の部分のプログラムもアップロードしました。

2018/02/01 03:57

投稿

itchee92
itchee92

score7

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,10 @@
14
14
 
15
15
  ### 該当のソースコード
16
16
 
17
+
18
+
19
+ ```lang-java
20
+
17
21
  public ArrayList<Card> checkSameCards(Player p) {
18
22
 
19
23
  ArrayList<Card> cards = p.getCardHand().getCards();
@@ -43,3 +47,177 @@
43
47
  return discards;
44
48
 
45
49
  }
50
+
51
+ ```
52
+
53
+
54
+
55
+
56
+
57
+ 以下がカードが同じかをチェックして捨てるプログラムです
58
+
59
+ ```lang-java
60
+
61
+ for(Player p: playerList) { //実行しているgetGameメソッドの一部
62
+
63
+ if(p instanceof User) {
64
+
65
+ p.getCardHand().showAllCards();
66
+
67
+ }
68
+
69
+ ArrayList<Card> cards = judge.checkSameCards(p);
70
+
71
+ for(Card c: cards) {
72
+
73
+ p.discardCard(c);
74
+
75
+ }
76
+
77
+ }
78
+
79
+ for(Player p: playerList) {
80
+
81
+ if(p instanceof User) {
82
+
83
+ p.getCardHand().showAllCards();
84
+
85
+ }
86
+
87
+ }
88
+
89
+ ```
90
+
91
+
92
+
93
+ 参考までにプレーヤクラスも載せときます
94
+
95
+ ```lang-java
96
+
97
+ public abstract class Player { //プレーヤクラス
98
+
99
+ /** プレーヤー名 */
100
+
101
+ private String name;
102
+
103
+ /** 手札 */
104
+
105
+ private CardHand hand = new CardHand();
106
+
107
+
108
+
109
+ /**
110
+
111
+ * 名前を指定して、じゃんけんのプレイヤーを作る
112
+
113
+ * @param name プレイヤー名
114
+
115
+ */
116
+
117
+ public Player(String name) {
118
+
119
+ super();
120
+
121
+ this.name = name;
122
+
123
+ }
124
+
125
+
126
+
127
+ /**
128
+
129
+ * 自分の名前を外部に取得させる
130
+
131
+ * @return 名前
132
+
133
+ */
134
+
135
+ public String getName() {
136
+
137
+ return name;
138
+
139
+ }
140
+
141
+
142
+
143
+ /**
144
+
145
+ * 自分の手札を外部に取得させる
146
+
147
+ */
148
+
149
+ public CardHand getCardHand() {
150
+
151
+ return hand;
152
+
153
+ }
154
+
155
+
156
+
157
+ /**
158
+
159
+ * 自分の名前をセットする
160
+
161
+ * @return セットする名前
162
+
163
+ */
164
+
165
+ public void setName(String name) {
166
+
167
+ this.name = name;
168
+
169
+ }
170
+
171
+
172
+
173
+ /**
174
+
175
+ * 相手の手札から手札を一枚引く
176
+
177
+ * @return 引いたカード
178
+
179
+ */
180
+
181
+ public void getCardHand(Player p) {
182
+
183
+ Card c = p.hand.getCardAtRandom();
184
+
185
+ hand.addCard(c);
186
+
187
+ }
188
+
189
+
190
+
191
+ public void addCardHand(Card c) {
192
+
193
+ hand.addCard(c);
194
+
195
+ }
196
+
197
+
198
+
199
+ public void discardCard(Card c) {
200
+
201
+ hand.getCards().remove(c);
202
+
203
+ }
204
+
205
+
206
+
207
+ /**
208
+
209
+ * 手札の枚数を表示する
210
+
211
+ */
212
+
213
+ public void showNumberOfCards() {
214
+
215
+ System.out.println(name+"さんの手札は"+hand.getNumberOfCards()+"枚です.");
216
+
217
+ }
218
+
219
+
220
+
221
+ }
222
+
223
+ ```