我目前正在开发一个在Windows窗体中创建的Mastermind游戏项目。c#需要帮助才能理解此代码
每次玩家猜出他认为他认为可能是正确的颜色顺序的位置后,他就会知道他的多少针在正确的位置是正确的颜色,而且颜色是正确的错误的地方。
我被问到谁是更经历了编程一些帮助伴侣,他给了我这个:
/* RightCRightP is the variable for how many pins which are right colour and on right
place.
RightCWrongP is the variable for how many pins which are right colour but on wrong
place.
guessList is a list including the players guesses.
answerList is a list including the right answer (right order).
*/
//His code
var RightCRightP = guessList
.Zip(answerList, (g, s) => g == s)
.Count(z => z);
var RightCWrongP = guessList
.Intersect(answerList)
.Sum(c =>
System.Math.Min(
answerList.Count(x => x == c),
guessList.Count(x => x == c))) - RightCRightP;
的事情是,我想学什么在此代码每一件事情做。可悲的是我不能亲自问他,因为他目前正在度假。
我要做的就是下载ReSharper的免费试用版,并将代码从LINQ转换回正常代码,您可以通过在语句上按Alt + Enter并选择将其转回的选项来实现。这可以让你看到每个人正在做什么,也许会更容易理解。 –
每一步都要一步一个脚印。看看每种方法;如果你不知道它会做什么,请查阅它的文档;使用一些示例输入/输出来查看每次操作后会发生什么,并且应该相当明显地发生了什么。 – Servy