【发布时间】:2021-12-09 04:41:30
【问题描述】:
当我点击“newRound”按钮时,程序会生成 Minor Arcana Deck 并通过 FisherYatesShuffle 方法对其进行洗牌。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void newRound_Click(object sender, RoutedEventArgs e)
{
var minorArcanaDeck = new string[] {"Ace of Wands","Two of Wands", etc.};
var rng = new Random();
rng.Shuffle(minorArcanaDeck);
}
}
static class FisherYatesShuffle
{
public static void Shuffle<T>(this Random rng, T[] array)
{
int n = array.Length;
while (n > 1)
{
int k = rng.Next(n--);
T temp = array[n];
array[n] = array[k];
array[k] = temp;
}
}
}
在另一个按钮中(也在部分类中),我想访问这个小ArcanaDeck 数组,但我不知道如何。如何使下面的代码工作,以便在单击“drawCard”按钮时文本框显示数组的值?
private void drawCard_Click(object sender, RoutedEventArgs e)
{
myText.Text = minorArcanaDeck[0];
}
【问题讨论】:
-
将minorArcanaDeck声明为类变量(方法外)
标签: c# wpf wpf-controls