我是C#的新手 - 就像真的很新,所以我几乎没有经验 - 我想尽可能简单地完成这个目标,但我会接受任何你能给予的帮助。我正在制作一个基本的刽子手游戏 - 我已经到了需要将用户输入的字符替换为新数组然后用&替换所有数组的地步。 #39 *'或者' _'随你。但我无法弄清楚如何将新阵列设置为游戏中确定的长度。
这个代码看起来很恐怖,因为它是由一个傻瓜构建的 - 但我感谢你的帮助。
<can-import from="../status-searchFilter/" ($change)="update(*filters)">
<status-searchfilter {^filter-List}="*filters"/>
</can-import>
是的 - 我确实知道他们会遇到问题,如果(playOne ==&#34;&#34;)&#39;以后我只是试着让它现在起作用:)
答案 0 :(得分:2)
char[] playOneDisguised = new char [charPlayOne.Length];
或简化您的代码:char[] playOneDisguised = Enumerable.Repeat('*', charPlayOne.Length).ToArray();
答案 1 :(得分:0)
简单 - 您使用数字参数声明一个新数组:
// src is a char[] array
int cnt = src.Count();
char[] dest = new char[cnt];
...无论如何,我回答的主要原因是让你知道一些能帮助你顺利完成的事情:重构。
重构是将代码拆分/重新组织为易于管理,易于阅读/维护/故障排除的块。我们的想法是让每个功能都做一件事(并且只有一个改变的理由) - 如果你愿意,可以在“单一责任原则”上进行一些谷歌搜索;它可能是关于如何编写漂亮,干净的代码的最重要概念。
无论如何,看看顶级功能有多少东西。这是重构的一个很好的例子:
string playerOneWord = "";
do
{
Console.WriteLine("Okay player 1 - enter your word!");
playerOne = Console.ReadLine();
if (playerOne == "")
{
Console.WriteLine("Please enter an actual word.");
}
else
{
playerOneWord = playerOne;
validWord = true;
}
} while (validWord == false);
......这是做什么的?这是从第一名球员那里得到的一句话。那么,为什么不把它分解成自己的功能呢?
string playerOneWord = GetWordFromPlayerOne();
// ... later on, elsewhere
private string GetWordFromPlayerOne()
{
// your code to get the input from player 1, looping until its valid
}
...希望这是有道理的。无论如何,祝你好运你的编码: - )
答案 2 :(得分:0)
string playerOne = null;
bool validWord = false;
do
{
Console.WriteLine("Okay player 1 - enter your word!");
playerOne = Console.ReadLine();
if (playerOne.Length <= 0) Console.WriteLine("Please enter an actual word.");
else validWord = true;
} while (validWord == false);
Console.WriteLine("Excellent, I'm now going to clear this chat so player 2 can't see your word!");
Thread.Sleep(1500);
Console.Clear();
Console.WriteLine("Hello Player 2! Player 1 has chosen a word, the word looks like this: ");
Thread.Sleep(1200);
for (int i = 0; i < playerOne.Length; i++)
{
if ((i % 2) == 0) Console.Write(playerOne[i]);
else Console.Write("*");
}
Console.ReadLine();
你不需要复制字符串来隐藏一些字符。