C#의 카드 섞기
C#에서는 Fisher-Yates 섞기를 사용하여 카드 섞기 알고리즘을 구현할 수 있습니다. 사용자 입력에 따라 데크를 섞도록 코드를 향상시킬 수 있는 방법은 다음과 같습니다.
Program.cs에서 다음 논리를 추가합니다.
int timesToShuffle; Console.WriteLine("How many times do you want to shuffle?"); timesToShuffle = Convert.ToInt32(Console.ReadLine()); for (int i = 0; i < timesToShuffle; i++) { FisherYates.Shuffle(mydeck.Cards); }
이 코드는 원하는 항목에 대한 사용자 입력을 검색합니다. 횟수를 섞은 다음 Fisher-Yates 셔플 알고리즘을 데크의 카드 배열에 여러 번 적용합니다.
FisherYates 클래스에서 다음 방법:
public static void Shuffle(int[] deck) { for (int n = deck.Length - 1; n > 0; --n) { int k = r.Next(n + 1); int temp = deck[n]; deck[n] = deck[k]; deck[k] = temp; } }
이 방법은 카드 덱을 나타내는 정수 배열을 사용하고 Fisher-Yates 셔플 알고리즘을 적용하여 순서를 무작위로 지정합니다.
셔플링이 완료되면 처음에 했던 것처럼 mydeck.Cards를 반복하여 섞인 카드를 나열할 수 있습니다. 이제 지정된 횟수에 따라 카드가 섞입니다.
위 내용은 C#에서 Fisher-Yates 알고리즘을 사용하여 덱을 몇 번이나 섞어야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!