我目前正在開發一個在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