private static void GoRound(List <Player> players, Dealer dealer, ref int groundMoney) { Break($"게임을 시작합니다. 참가비 {Constant.BettingMoney}원이 들어갑니다."); // 카드 회수 foreach (var player in players) { player.DropCards(); } dealer.Shuffle(); // 참가비 foreach (var player in players) { player.Bet.BetMoney += Constant.BettingMoney; } Console.Clear(); // 카드 뽑기 for (int i = 0; i < 2; i++) { foreach (var player in players) { player.AddCard(dealer.DrawCard()); } } // 1페이즈 : 자신의 카드 1장을 확인한다 PhaseOne(players); // 2페이즈 : 자신의 카드 1장과 상대방 카드 1장을 확인하고 베팅한다 PhaseTwo(players); }
static void Main(string[] args) { Dealer dealer = new Dealer(); Board board = new Board(); // 동적배열 List <Player> players = new List <Player>(); players.Add(new Player(0)); players.Add(new Player(1)); Scorer scorer = new Scorer(); // 둘 중 한 명이 오링날 때까지 while (CanGoRound(players)) { // 딜러가 카드를 섞음 dealer.Shuffle(); // 판돈 내기 for (int i = 0; i < players.Count; i++) { players[i].Money -= 100; board.Money += 100; } // 각 플레이어에 카드를 2장씩 준다. for (int i = 0; i < players.Count; i++) { players[i].Cards.Clear(); for (int j = 0; j < 2; j++) { Card card = dealer.GetCard(); players[i].TakeCard(card); } } // 승자를 찾는다 Player winner = scorer.GetWinner(players[0], players[1]); if (winner == null) { continue; } // 판돈을 승자에게 준다. winner.Money += board.Money; board.Money = 0; // 플레이어가 가진 카드와 소지금, 승자를 출력한다. PrintRoundResult(players, winner); } }
static void Main(string[] args) { //딜러 Dealer dealer = new Dealer(); //보드 Board board = new Board(); //스코럴 Scorer scorer = new Scorer(); //플레이어 //List는 동적배열 List <Player> players = new List <Player>(); players.Add(new Player(0)); players.Add(new Player(1)); // 둘 중 한 명이 올인 날 때까지.. while (CanGoRound(players)) { // 라운드 진행 // 딜러가 카드를 섞는다. dealer.Shuffle(); // 판돈 내기 for (int i = 0; i < players.Count; i++) { players[i].Money -= 100; board.Money += 100; } // 카드 나눠주기(각 플레이어에게 2장씩 준다) for (int i = 0; i < players.Count; i++) { players[i].cards.Clear(); for (int j = 0; j < 2; j++) { Card card = dealer.GetCard(); players[i].TakeCard(card); } } // 승자를 찾는다. Player winner = scorer.GetWinner(players[0], players[1]); // 무승부면 루프의 처음으로 다시 돌아가서 실행. if (winner == null) { continue; } // 판돈을 승자에게 준다. winner.Money += board.Money; // 보드는 금액을 0으로 초기화. board.Money = 0; // 플레리어가 가진 카드와 소지금, 승자를 출력한다. PrintRoundResult(players, winner); } // end of while() } //end of main()