質問編集履歴

1

かなり失礼な内でしたので修正させていただきました。

2021/07/05 10:41

投稿

mnodudy.12
mnodudy.12

スコア4

title CHANGED
File without changes
body CHANGED
@@ -18,18 +18,186 @@
18
18
 
19
19
 
20
20
  ### 該当のソースコード
21
+ ```ここに言語を入力
22
+ User.Java
21
23
 
22
- ```ここに言語名を入力
24
+ import java.util.ArrayList;
23
25
 
26
+ public class User extends Human {
27
+
28
+ protected ArrayList<Integer> cards = new ArrayList<Integer>();
29
+
30
+ public void setCards(ArrayList<Integer> drawCard) {
31
+ for(int i= 0;i<drawCard.size();i++){
32
+ myCards.add(drawCard.get(i));
33
+ }
34
+ }
35
+
36
+ public int open() {
37
+ int total = 0;
38
+ for(int i =0; i<=myCards.size(); i++) {
39
+ if(10 <= myCards.get(i)) {
40
+ total += 10;
41
+ }else {
42
+ total += myCards.get(i);
43
+ }
44
+ }
45
+ return total;
46
+ }
47
+
48
+ public boolean checkSum() {
49
+ if (open() < 17) {
50
+ return true;
51
+ }else{
52
+ return false;
53
+ }
54
+
55
+ }
56
+ }
57
+
24
58
  ```
59
+ ```ここに言語を入力
60
+ Human.Java
61
+
62
+ import java.util.ArrayList;
63
+
64
+ public abstract class Human {
65
+
66
+ protected ArrayList<Integer> myCards = new ArrayList<Integer>();
67
+
68
+ abstract public int open();
69
+
70
+ abstract public void setCards(ArrayList <Integer> drawCard);
71
+
72
+ abstract public boolean checkSum();
73
+
74
+ }
75
+
76
+ ```
77
+
78
+ ```
79
+ Dealer.Java
80
+
81
+ import java.util.ArrayList;
82
+ import java.util.Collections;
83
+
84
+ public class Dealer extends Human {
85
+
86
+
87
+ protected ArrayList <Integer> cards = new ArrayList<Integer>();
88
+
89
+ public Dealer() {
90
+ for(int n=1; n<=4; n++) {
91
+ for(int i=1; i<=13; i++) {
92
+ cards.add(i);
93
+ }
94
+ }
95
+ Collections.shuffle(cards);
96
+ }
97
+
98
+ public ArrayList<Integer> deal(){
99
+ ArrayList<Integer> setCards = new ArrayList<Integer>();
100
+ setCards.add(cards.get(0));
101
+ setCards.add(cards.get(1));
102
+ cards.remove(0);
103
+ cards.remove(0);
104
+ return setCards;
105
+ }
106
+
107
+ public void setCards(ArrayList<Integer> drawCard) {
108
+ for(int i= 0; i<drawCard.size(); i++){
109
+ myCards.add(drawCard.get(i));
110
+ }
111
+ }
112
+
113
+ public int open() {
114
+ int total = 0;
115
+ for(int i=0; i<=myCards.size(); i++) {
116
+ if(0<= myCards.get(i)) {
117
+ total += 10;
118
+ }else {
119
+ total += myCards.get(i);
120
+ }
121
+ }
122
+ return total;
123
+ }
124
+
125
+
126
+ public ArrayList<Integer> hit(){
127
+ ArrayList<Integer>setCards = new ArrayList<Integer>();
128
+ setCards.add(cards.get(0));
129
+ cards.remove(0);
130
+ return cards;
131
+ }
132
+ public boolean checkSum() {
133
+ if (open() < 17 ) {
134
+ return true;
135
+ }else{
136
+ return false;
137
+ }
138
+ }
139
+ }
140
+
141
+ ```
142
+
143
+ ```ここに言語を入力
144
+ BlackJack.Java
145
+ public class Blackjack {
146
+
147
+ public static void main(String[]args) {
148
+
149
+ Dealer dealer = new Dealer();
150
+ User user = new User();
151
+
152
+ System.out.println("ブラックジャックをこれから始めます!!");
153
+ System.out.println("カードを配りますね");
154
+
155
+ dealer.setCards(dealer.deal());
156
+ user.setCards(dealer.deal());
157
+
158
+ dealer.checkSum();
159
+
160
+ while (dealer.checkSum() == true) {
161
+ dealer.hit();
162
+ dealer.setCards(dealer.myCards);
163
+ break;
164
+ }
165
+ System.out.println("ディーラーの手札はこちらです‼!");
166
+
167
+
168
+ while (user.checkSum() == true) {
169
+ dealer.hit();
170
+ dealer.setCards(dealer.myCards);
171
+ break;
172
+ }
173
+
174
+ System.out.println("あなたの手札はこちらです‼");
175
+
176
+ user.checkSum();
177
+
178
+ System.out.println("ディーラーは"+ dealer.myCards);
179
+ System.out.println(dealer.open());
180
+ System.out.println("あなたは"+ user.myCards);
181
+ System.out.println(user.open());
182
+
183
+ if(user.open() == 21) {
25
- ![イメージ説明](6c04d245970271f3a074818bd433d030.png)
184
+ System.out.println("ブラックジャック!あなたの勝ち");
185
+ }else if(user.open() < 21 && dealer.open()<user.open() || dealer.open()>21){
186
+ System.out.println("あなたの勝ち");
187
+ }else if(user.open() > 21){
26
- ![イメージ説明](96e118a0c94c29badf2a708cbfa53204.png)
188
+ System.out.println("バースト!あなたの負け");
189
+ }else if(dealer.open() ==21 || dealer.open() <=21 && user.open()<dealer.open()){
27
- ![イメージ説明](3e6a71626f3894b23fe77714b8669775.png)
190
+ System.out.println("あなたの負け");
191
+ }else if(user.open() == dealer.open() || user.open()>21 && dealer.open()>21){
28
- ![イメージ説明](cedf22ffaca8be4f4b77765974602d4f.png)
192
+ System.out.println("引き分け");
193
+ }
194
+ }
195
+ }
196
+
29
- ![イメージ説明](9f680fe09fe67b449f5e05c595b8b2eb.png)
197
+ ```
30
198
  ### 試したこと
31
199
 
32
- ここに問題に対て試したことを記載てください
200
+ エラーコードから配列内の数字を変更したが解決ませんでした
33
201
 
34
202
  ### 補足情報(FW/ツールのバージョンなど)
35
203