오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 7일차!
안녕하세요.
어제와 오늘은 정말 글의 내용이 없을겁니다.
왜냐면 내가 코드를 작성하고 있거든요 하하
그래도 뭐 내가 뭘 하는지 알려드리자면 블랙잭을 콘솔게임으로 구현하라는 것인데
내용은 이러했다.
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();
}
이 코드는 콘솔창에 아주 멋진 카드를 보여줍니다!
이를 응용한 코드로 만든 모습은 이렇다!
빈약한 내용이지만 코드를 마무리할때까진 이럴듯!