class Program
{
static void Main(string[] args)
{
string[] deck = {"1♥","2♥","3♥","4♥","5♥","6♥","7♥","8♥","9♥","10♥","11♥","12♥","13♥",
"1♦","2♦","3♦","4♦","5♦","6♦","7♦","8♦","9♦","10♦","11♦","12♦","13♦",
"1♣","2♣","3♣","4♣","5♣","6♣","7♣","8♣","9♣","10♣","11♣","12♣","13♣",
"1♠","2♠","3♠","4♠","5♠","6♠","7♠","8♠","9♠","10♠","11♠","12♠","13♠"};
string[] player = new string[26];
string[] computer = new string[26];
deck = Shuffle(deck);
foreach (string d in deck)
{
Console.WriteLine(d);
}
Console.WriteLine(deck.Length);
for (int i = 0; i < 26; i++)
{
player[i] = deck[i];
Console.WriteLine(player[i]);
}
for (int j = 26; j < 52; j++)
{
computer[j] = deck[j];
Console.WriteLine(computer[j]);
}
}
static string[] Shuffle(string[] deck)
{
Random r = new Random();
for (int i = deck.Length; i > 0; i--)
{
int j = r.Next(i);
string k = deck[j];
deck[j] = deck[i - 1];
deck[i - 1] = k;
}
return deck;
}
}
它将把牌阵的一半分配给玩家和计算机(玩家得到前半部分,计算机得到后半部分)。现在这是先洗牌,所以是的,这似乎是公平的。
我得到的出界错误是这一行:
computer[j] = deck[j];
您需要从0开始索引computer
,而不是从26开始:
for (int j = 26; j < 52; j++)
{
computer[j - 26] = deck[j];
Console.WriteLine(computer[j - 26]);
}
或者,偏移deck
索引:
for (int i = 0; i < 26; i++)
{
computer[i] = deck[i + 26];
Console.WriteLine(computer[i]);
}
如果您不需要打印初始卡片,则可以使用LINQ更简洁地实现这一点:
player = deck.Take(26).ToArray();
computer = deck.Skip(26).ToArray();
对于特定的任务,我需要在可变数组中进行大量快速、单独的写操作。为了检查性能,我使用了以下测试:
问题内容: 当我遇到性能问题时,我只是更改了一个正在编写的程序,以将数据存储为numpy数组,而两者之间的区别令人难以置信。最初耗时30分钟,而现在耗时2.5秒! 我想知道它是如何做到的。我认为这是因为它消除了对循环的需要,但除此之外,我感到很困惑。 问题答案: 块状阵列是均质类型的密集堆积阵列。相比之下,Python列表是指向对象的指针数组,即使它们都属于同一类型。因此,您可以获得引用局部性的好
我遵循这个教程: https://www.w3schools.com/php/php_xml_dom.asp 循环遍历XML部分是有问题的。出于某种原因,PHP将DOM对象视为数组。此外,var_dump除了长度之外,不返回任何关于对象属性的信息,但程序输出看起来像是不知从何而来。foreach可以通过某种方式循环对象吗?如果有,这些属性(节点名和节点值)包含在哪里,因为var_dump没有显示它
我尝试了一切,但图像不会显示出来,我试图使图像变小但没有用,我试图改变路径,我试图改变图像的位置但没有帮助,我试图在互联网上搜索但一无所获。 我看到的只是空白的图形用户界面,没有文本和图像。如果你能帮我,你会帮我一个大忙。 代码如下:
我用PHP编写了这个脚本: $lang是en。但是当我调用函数如as
有人问我这个问题,我只是回答“因为JVM需要移动对象”,但后来我搜索了一下,似乎找不到任何合理的答案。