스파르타코딩클럽 게임개발

오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 7일차!

코드천자문 2023. 11. 7. 23:17
반응형

이번주엔 팀이 바뀌어서 우리팀 로고다 ㅋ

안녕하세요.

 

어제와 오늘은 정말 글의 내용이 없을겁니다.

 

왜냐면 내가 코드를 작성하고 있거든요 하하 

 

그래도 뭐 내가 뭘 하는지 알려드리자면 블랙잭을 콘솔게임으로 구현하라는 것인데

 

내용은 이러했다.

 

3-2 블랙잭 만들기

블랙잭 게임은 카지노에서 흔히 볼 수 있는 카드 게임 중 하나입니다. 이번 과제에서는 간단한 콘솔 기반의 블랙잭 게임을 C#으로 구현해 보도록 하겠습니다.

요구사항:

  • 블랙잭 게임은 1명의 플레이어와 1명의 딜러가 참여합니다.
  • 게임 시작 시, 플레이어와 딜러는 각각 두 장의 카드를 받습니다.
  • 플레이어는 21점이 넘지 않는 한 계속해서 카드를 더 받을 수 있습니다.
  • 딜러는 카드 합이 17점이 되거나 넘을 때까지 계속해서 카드를 받아야 합니다.
  • 카드를 더 이상 받지 않는 플레이어와 딜러 중 카드 합이 21점에 더 가까운 쪽이 승리합니다. 21점을 초과하면 패배합니다.
  • Card, Deck, Hand, Player, Dealer, Blackjack 등의 클래스를 활용해 구현해야 합니다.

블랙잭은 아직 구현중이라 완성된 코드는 없다.

 

그렇지만 아주 재밌는 코드를 만들었다!

 

static void Main()
  {
          // 모든 카드 슈트와 값
          string[] suits = { "♥", "◈", "♣", "♠" };
          string[] values = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };          int x = 5;
          // 모든 카드를 저장할 리스트
          List<string> allCards = new List<string>();          // 카드 생성 및 저장
          foreach (var suit in suits)
          {
                  foreach (var value in values)
                  {
                          string card = GenerateCard(suit, value);
                          allCards.Add(card);
                  }
          }          // 모든 카드 출력
          foreach (var card in allCards)
          {
                  Console.SetCursorPosition(0, 22);
                  Console.WriteLine(card);
                  Console.ReadKey();// 각 카드를 보여주고 일시 중지
          }
  }  // 특정 카드를 생성하는 함수
  static string GenerateCard(string suit, string value)
  {
          string[] cardLines = new string[9];
          cardLines[0] = "┌───────┐";
          cardLines[1] = $"| {value,-2}    |";
          cardLines[2] = "|       |";
          cardLines[3] = $"|   {suit}   |";
          cardLines[4] = "|       |";
          cardLines[5] = $"|    {value,2} |";
          cardLines[6] = "└───────┘";          

          StringBuilder cardBuilder = new StringBuilder();
          foreach (string line in cardLines)
          {
                  cardBuilder.AppendLine(line);
          }          return cardBuilder.ToString();
  }

 

이 코드는 콘솔창에 아주 멋진 카드를 보여줍니다!

 

 

이를 응용한 코드로 만든 모습은 이렇다!

 

 

카드가 겹쳐서 나오는 모습!

 

 

빈약한 내용이지만 코드를 마무리할때까진 이럴듯!

반응형