C# C语言中的基本猜谜游戏机制# 我有过很多编程经验(三学期教VBasic、C++和java),现在我在大学,我正在上C级课程,这很无聊(老师比我知道的少)。
无论如何,作为我们的一个练习,我们正在创建一个数字猜测/彩票游戏。它的工作原理是这样的:C# C语言中的基本猜谜游戏机制# 我有过很多编程经验(三学期教VBasic、C++和java),现在我在大学,我正在上C级课程,这很无聊(老师比我知道的少)。,c#,visual-studio,visual-studio-2010,C#,Visual Studio,Visual Studio 2010,无论如何,作为我们的一个练习,我们正在创建一个数字猜测/彩票游戏。它的工作原理是这样的: 用户输入1-4之间的三个整数,然后单击submit(我将它们存储到一个数组中) 程序从1-4生成三个数字(也在一个数组中) 检查匹配的函数运行并检查两个数组 如果所有三个按顺序匹配(即1,2,3=1,2,3,而不是1,2,3=1,3,2),则匹配=4 如果三个匹配都不符合顺序,则匹配=3 如果只有两个匹配,则匹配=2 我想确保只有一个匹配项算作一(即,[1,1,2][1,2,3]只向用户提供一个匹配项
- 用户输入1-4之间的三个整数,然后单击submit(我将它们存储到一个数组中)
- 程序从1-4生成三个数字(也在一个数组中)
- 检查匹配的函数运行并检查两个数组
- 如果所有三个按顺序匹配(即1,2,3=1,2,3,而不是1,2,3=1,3,2),则匹配=4
- 如果三个匹配都不符合顺序,则匹配=3
- 如果只有两个匹配,则匹配=2
- 我想确保只有一个匹配项算作一(即,[1,1,2][1,2,3]只向用户提供一个匹配项)
- 如果只有一个匹配,则匹配=1
- 如果没有匹配项,则匹配项保持为0(在提交时实例化)
再次感谢!您可以使用循环来实现此功能。为了便于使用,我使用了一个列表,执行
删除
等操作。类似的操作应该可以:
public static int getNumberOfMatches(List<int> userGuesses, List<int> machineGuesses) {
// Determine list equality.
bool matchedAll = true;
for (int i = 0; i < userGuesses.Count; i++) {
if (userGuesses[i] != machineGuesses[i]) {
matchedAll = false;
break;
}
}
// The lists were equal; return numberOfGuesses + 1 [which equals 4 in this case].
if (matchedAll) {
return userGuesses.Count + 1;
}
// Remove all matches from machineGuesses.
foreach (int userGuess in userGuesses) {
if (machineGuesses.Contains(userGuess)) {
machineGuesses.Remove(userGuess);
}
}
// Determine number of matches made.
return userGuesses.Count - machineGuesses.Count;
}
public static int getNumberOfMatches(列出用户猜测,列出机器注释){
//确定列表相等。
bool matchedAll=true;
for(int i=0;i 对于第一种情况,对于所有的匹配,你都可以把数组扫描一下,或者增加一个计数器。因为你提到C++,这是
int userGuesses[3];
int randomGen[3];
int matches = 0;
for(int i=0; i < 3; i++) if(userGuesses[i] == randoGen[i]) matches++;
if(matches == 3) //set highest score here.
if(matches == 2) // next score for ordered matches etc.
int用户猜测[3];
int-randomGen[3];
int匹配=0;
对于(inti=0;i<3;i++)如果(userGuesses[i]==randoGen[i])匹配++;
if(matches==3)//在此处设置最高分数。
if(matches==2)//有序匹配的下一个分数等。
对于not in order情况,您需要为每个用户猜测查找生成的数组,以查看它是否具有该值。这是不对的。userguesss={1,1,1},machineguesses={1,2,2}<代码>输出3。看了代码后,我觉得这将是完美的!我会在我能测试的时候,然后我会再给你回复。非常感谢!你教过C++和java,你不喜欢case语句吗?我没有投票给你,但是我打赌是因为“我比老师好”的态度,或者说“gemme-teh-codez”的态度。一点也不刻薄。只是说,对于这个网站,你可以通过编写代码和寻求特定问题的帮助来获得更好的回复。祝你好运:)