如何在这个猜谜游戏代码中将猜测次数限制为4? [英] How do I limit the number of guesses to 4 in this guessing game code?

查看:108
本文介绍了如何在这个猜谜游戏代码中将猜测次数限制为4?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想限制用户猜测的数量4.



 使用系统; 
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Text;
使用 System.Threading.Tasks;

命名空间 Guessing_Game
{
class Program
{
静态 void Main( string [] args)
{
int SecretNumber,GuessNumber;
Console.WriteLine( 欢迎来到猜数游戏。播放器1,在1-10之间输入一个数字然后按ENTER键。);
SecretNumber = int .Parse(Console.ReadLine());


while (SecretNumber > 10
{

Console.WriteLine( 请输入1-10中的数字);
SecretNumber = int .Parse(Console.ReadLine());

}

while (SecretNumber < 1
{

Console.WriteLine( 请输入1-10)中的数字;
SecretNumber = int .Parse(Console.ReadLine());

}

Console.Clear();
Console.WriteLine( 您输入的数字现在是'密码'。按ENTER键继续。);
Console.Clear();
Console.WriteLine( 播放器2,请输入要猜的数字,然后按ENTER键。);
GuessNumber = int .Parse(Console.ReadLine());


while (GuessNumber > 10
{

Console.WriteLine( 请输入1-10中的数字);
GuessNumber = int .Parse(Console.ReadLine());

}

(GuessNumber!= SecretNumber)
{

Console.WriteLine( 不正确,请输入另一个数字,然后按ENTER重新猜测。);
GuessNumber = int .Parse(Console.ReadLine());

}

if (GuessNumber == SecretNumber)
{

Console.WriteLine( 恭喜!您猜对了正确的号码!按ENTER键结束程序。 );
Console.ReadLine();

}



}
}
}





我尝试了什么:



到目前为止我还没有尝试过任何东西。

解决方案

之前有人问过这类问题,这里是链接。它可能不完全是你想要的,但它应该给你一些想法。



cp_number_guessing_console | C#在线编译器| .NET小提琴 [ ^ ]


< blockquote>你有一个逻辑错误,条件是同时的,而不是非连续的。

15 0和20的输入将打败你的范围检查。

此代码:

  while (SecretNumber >   10 
{
Console.WriteLine( 请输入1-10中的数字);
SecretNumber = int .Parse(Console.ReadLine());
}
while (SecretNumber < 1
{
Console.WriteLine( 请输入一个数字从1-10);
SecretNumber = int .Parse(Console.ReadLine());
}



需要更改为:

  while (SecretNumber <   1  || SecretNumber >   10 
{
Console.WriteLine( 请输入1-10)中的数字;
SecretNumber = int .Parse(Console.ReadLine());
}



Quote:

我想限制用户猜测的数量为4.



1)做一个猜​​测计数器,将其初始化为零。

2)每次增加计数器猜测

3)测试它的值并在4次错误的猜测完成后退出。


I want to limit the amount of guesses the user has to 4.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guessing_Game
{
    class Program
    {
        static void Main(string[] args)
        {
            int SecretNumber, GuessNumber;
            Console.WriteLine("Welcome to the number guessing game. Player 1, input a number between 1-10 and then press ENTER.");
            SecretNumber = int.Parse(Console.ReadLine());


            while (SecretNumber > 10)
            {

            Console.WriteLine("Please enter a number from 1-10");
            SecretNumber = int.Parse(Console.ReadLine());

            }

            while (SecretNumber < 1)
            {

                Console.WriteLine("Please enter a number from 1-10");
                SecretNumber = int.Parse(Console.ReadLine());

            }

            Console.Clear();
            Console.WriteLine("The number you have input is now the 'secret number'. Press ENTER to continue.");
            Console.Clear();
            Console.WriteLine("Player 2, please enter a number to guess and then press ENTER.");
            GuessNumber = int.Parse(Console.ReadLine());
            

            while (GuessNumber > 10)
            {

               Console.WriteLine("Please enter a number from 1-10");
               GuessNumber = int.Parse(Console.ReadLine());
               
            }

            while (GuessNumber != SecretNumber)
            {

              Console.WriteLine("Incorrect, enter another number and press ENTER to guess again.");
              GuessNumber = int.Parse(Console.ReadLine());
              
            }

            if (GuessNumber == SecretNumber)
            {
              
              Console.WriteLine("Congratulations! You guessed the right number! Press ENTER to end the program.");
              Console.ReadLine();

            }

        
             
        }
    }
}



What I have tried:

I haven't tried anything so far.

解决方案

Someone has asked this sort of question before, here is the link to it. It might not exactly what you looking for but it should give you some idea.

cp_number_guessing_console | C# Online Compiler | .NET Fiddle[^]


You have an error of logic, the conditions are simultaneous, not nonconsecutive.
An input of 15 0 and 20 will defeat your range check.
This code :

while (SecretNumber > 10)
{
    Console.WriteLine("Please enter a number from 1-10");
    SecretNumber = int.Parse(Console.ReadLine());
}
while (SecretNumber < 1)
{
    Console.WriteLine("Please enter a number from 1-10");
    SecretNumber = int.Parse(Console.ReadLine());
}


need to be changed to :

while (SecretNumber < 1 || SecretNumber > 10)
{
    Console.WriteLine("Please enter a number from 1-10");
    SecretNumber = int.Parse(Console.ReadLine());
}


Quote:

I want to limit the amount of guesses the user has to 4.


1) make a counter of guesses, initialize it to zero.
2) increment the counter on every guess
3) test it value and exit when 4 wrong guesses have been done.


这篇关于如何在这个猜谜游戏代码中将猜测次数限制为4?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆