// returns true if at least one player bet, false otherwise private boolean takeBetsAndDealInitialCards() { boolean atLeastOneBet = false; List<Double> bets = new ArrayList<Double>(); // for(Seat seat : this.seats) for (int seatIndex = 0; seatIndex < this.seats.size(); seatIndex++) { Seat seat = this.seats.get(seatIndex); double bet = seat.player.bet(this.minBet, this.maxBet); if (this.minBet <= bet && bet <= this.maxBet) { atLeastOneBet = true; seat.hands.add(new CardsAndBet(bet)); bets.add(bet); } else { bet = 0; bets.add(0.0); } for (BlackjackObserver observer : this.observers) observer.initialBet(seatIndex, bet); } for (BlackjackObserver observer : this.observers) observer.initialBets(bets); if (!atLeastOneBet) return false; for (int x = 1; x <= 2; x++) { for (Seat seat : this.seats) if (seat.hands.size() > 0) seat.hands.get(0).dealCardTo(this.dealFaceUpCard()); if (x == 2) this.dealerHand.add(0, dealFaceUpCard()); else this.dealerHand.add(0, this.cardSource.getCard()); } return true; }