Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Kocok Dek Kad Berbilang Kali dengan Cekap dalam C# Berdasarkan Input Pengguna?

Bagaimanakah Saya Boleh Kocok Dek Kad Berbilang Kali dengan Cekap dalam C# Berdasarkan Input Pengguna?

Linda Hamilton
Lepaskan: 2025-01-05 03:55:38
asal
459 orang telah melayarinya

How Can I Efficiently Shuffle a Deck of Cards Multiple Times in C# Based on User Input?

Mengkocok Kad dalam C#

Mengkocok kad ialah aspek penting dalam permainan kad untuk memperkenalkan kerawanan. Artikel ini menyelidiki topik rombak kad dalam C#, menangani senario tertentu di mana anda perlu mengocok dek berulang kali berdasarkan input pengguna.

Dalam kod yang disediakan, anda telah menentukan kelas untuk mewakili dek kad. , kad individu dan pelbagai penghitungan. Untuk menggabungkan shuffle kad, kami cadangkan menggunakan algoritma shuffle Fisher-Yates, yang secara efisien merawak unsur-unsur dalam koleksi.

Begini cara anda boleh menambahkan fungsi shuffle Fisher-Yates pada kod anda:

Kelas Pembantu untuk Kocok:

Buat kelas pembantu statik yang dipanggil FisherYates untuk melaksanakan algoritma shuffle.

static public class FisherYates
{
    static Random r = new Random();

    static public 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;
        }
    }
}
Salin selepas log masuk

Memohon Kocok pada Dek:

Dalam kelas Program.cs anda, dapatkan bilangan shuffle yang pengguna inginkan dan gunakan Kaedah kocok FisherYates untuk mengocok dek dengan sewajarnya.

int numOfShuffles = int.Parse(Console.ReadLine());
for (int i = 0; i < numOfShuffles; i++)
{
    FisherYates.Shuffle(mydeck.Cards);
}
Salin selepas log masuk

Memaparkan Kad Kocok:

Selepas mengocok, anda boleh memaparkan dek kad kocok yang dikemas kini.

foreach (Card c in mydeck.Cards)
{
    Console.WriteLine(c);
}
Salin selepas log masuk

Dengan memanfaatkan Fisher-Yates algoritma shuffle, program anda kini boleh mengocok dek kad seberapa banyak kali yang pengguna tentukan dan memaparkan dek kocok yang terhasil.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Kocok Dek Kad Berbilang Kali dengan Cekap dalam C# Berdasarkan Input Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan