-
Notifications
You must be signed in to change notification settings - Fork 74
Expand file tree
/
Copy pathBlackJackGame.java
More file actions
72 lines (60 loc) · 2.34 KB
/
BlackJackGame.java
File metadata and controls
72 lines (60 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package Service;
import Domain.Dealer;
import Domain.Participant;
import Domain.Player;
import java.util.ArrayList;
import java.util.List;
public class BlackJackGame {
public List<Player> playerList = new ArrayList<>();
BlackJackCard blackJackCard = new BlackJackCard();
public Dealer dealer;
public void registerParticipant(String[] playerNames) {
for (String playerName : playerNames) {
Player player = new Player(playerName, blackJackCard.makeTwoCard());
player.isBlackJack = checkBlackJack(player);
this.playerList.add(player);
}
}
public void registerDealer() {
this.dealer = new Dealer("딜러", blackJackCard.makeTwoCard());
this.dealer.getParticipantCardList().get(0).isHiddenCard = true;
this.dealer.isBlackJack = checkBlackJack(this.dealer);
}
public boolean checkBlackJack(Participant participant) {
return participant.getParticipantScore() == 21;
}
public boolean checkDealerScore() {
return dealer.getParticipantScore() <= 16;
}
public void calculrateGame() {
int dealerScore = dealer.getParticipantScore();
for (Player player : playerList) {
boolean isPlayerWin = player.isPlayerWin(dealerScore);
if (isPlayerWin) {
player.playerResult = "승";
dealer.dealerLoseCount += 1;
} else {
player.playerResult = "패";
dealer.dealerWinCount += 1;
}
}
// playerList.stream()
// .filter(a -> a.isPlayerWin(dealerScore))
// .forEach(Player::setPlayerResult);
}
public void participantAddCard(Participant participant) {
participant.addParticipantCardList(blackJackCard.makeOneCard());
}
public void dealerCardOpen(){
dealer.getParticipantCardList().get(0).isHiddenCard = false;
}
public void calcurateBettingPrice() {
int dealerScore = dealer.getParticipantScore();
float bettingValue = 1 ;
for (Player player : playerList) {
bettingValue = player.isPlayerWin_2(dealerScore, dealer.isBlackJack, player.isBlackJack);
player.winningPrice += (int)(player.bettingPrice * bettingValue);
dealer.winningPrice += (int)(player.bettingPrice* bettingValue * -1);
}
}
}