C# 猜数字

来源:百度知道 编辑:UC知道 时间:2024/06/30 10:35:09
Windows应用程序
游戏规则:计算机随机产生一个不重复的四位数,玩家输入四位不重复的数与计算机给出的数作对比,如果与计算机给出的数的位置相同且数字相同,那么将会是1A,如果数字相同而位置不同,将会显示1B。如:计算机的随机数字为:1234 ,猜的数字为:1354 ,此时计算机会提示为:2A1B,2A表示在这次猜测中,有二个数字及其位置都正确,1B表示有一个数字正确但位置不正确。

题目是这样的,请大大们提供一下输入数字以后点击按钮后执行的程序代码并注释,我是初学者,还请各位大大们多多帮助。
我最先也是采用每位随机生成一个一位数字的方法 但是确实是 麻烦...所以后来就放弃了 现在输出又遇到问题...好菜...

public string Compare(string computerString, string playerString)
{
List<char> player = new List<char>();
int index = 0;
foreach (char item in playerString)
{
player.Add(item);
index++;
}
int aCount = 0;
int bCount = 0;
index = 0;
foreach (char item in computerString)
{
if (item == player[index])
aCount++;
else if (player.Contains(item))
bCount++;
index++;
}
return string.Format("{0}A{1}B", aCount, bCount);
}

不要激动,答案给你了,我没有办法调试,你自己试一下,我不能保证绝对正确.哪句不理解再问.

虽然输入的是数字,但是不一定非要把东西当作数字来处理,
比如随机4个不重复的数字,
Random 方法有个参数可以指定取值范围,
我们先把0~9 push到一个集合中.比如List<i