当前位置: 首页 > 知识库问答 >
问题:

简单的猜数字游戏。C

华欣荣
2023-03-14

我一直在尝试制作一个简单的游戏,计算机生成一个随机数,你试着猜它。它还存储了你“尝试”的猜测量。

但是,当我运行该程序时,它只是打印:“让我们玩游戏。我会想到一个数字 1-100。试着猜猜。

这是我的代码:

    #include <iostream>

    int main()

    {
        using namespace std;

        int the_number;
        int guess;
        int tries;

        the_number = rand() % 101 + 1;

        cout << "Let's play a game!";
        cout << "I will think of a number 1-100. Try to guess it.";
        cout << endl;
        cin >> guess;

        for (tries = 0; tries++;)
        {
            if (guess == the_number)
            {
                cout << "You guessed it!";
                cout << "And it only took you: " << tries;
            }
            else if (guess < the_number)
            {
                cout << "Higher";
                tries++;
            }


            else if (guess > the_number)
            {
                cout << "Lower";
                tries++;
            }

            else
                cout << "That's not even in range!";
            return 0;





    }



}

我不明白为什么这不起作用,有人能解释一下为什么不起作用吗?

共有3个答案

晁国发
2023-03-14

您应该在这里使用<code>而</code>循环,而不是<code>用于</code>:

while (the_number != guess)
{
    //
    //
}

并尝试使用新的

#include <random>

std::random_device rd;

std::default_random_engine engine(rd());
std::uniform_int_distribution<int> uniform_dist(1, 100);

the_number = uniform_dist(engine);

奚晟
2023-03-14

您可以定义几个变量,使您的代码更易于理解,如下所示:

#include <iostream>
using namespace std;

int main()
{char EndGame = 'N';
    int MyNumber = 150 , playerguess;
    cout << "I have a number between 1 and 100.\nCan you guess my number ??\nPlease type your first guess.\n?" << endl;

    do{
        cin >> playerguess;
    if (playerguess > MyNumber) {
        cout << " Too High. Try again." << endl;

    }

    else if (playerguess == MyNumber) {
        cout << "Excellent ! You Got It ! \n If you want to exit press Y" << endl;
        cin >> EndGame;
        break;

    }
    else {
        cout << " Too Low. Try again." << endl;
    }
    } while (1);
return 0;
}

这将使数字等于150。每次用户输入一个值时,控制台将确定它是更高、更低还是等于这个数字。

如果您想每次都将其设为随机数,您可以简单地使用

亢保赫
2023-03-14

你的程序在“让我们玩个游戏”之后不打印任何东西的原因。我会想出一个数字1-100。你猜猜看。”就是您编写< code>for循环的方式。

for ( tries = 0; tries++; )

在不执行任何操作的情况下中断循环,因为尝试计算结果为0

此外,为了使程序正常工作,需要添加更多代码来读取猜测。类似下面的代码应该可以工作。

   for (tries = 0; ; tries++)
   {
      if (guess == the_number)
      {
         cout << "You guessed it!";
         cout << "And it only took you " << tries << " tries.\n";
         break;
      }
      else if (guess < the_number)
      {
         cout << "Higher";
         cin >> guess;
      }

      else if (guess > the_number)
      {
         cout << "Lower";
         cin >> guess;
      }
   }
 类似资料:
  • 本文向大家介绍python实现的简单猜数字游戏,包括了python实现的简单猜数字游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现的简单猜数字游戏。分享给大家供大家参考。具体如下: 给定一个1-99之间的数,让用户猜数字,当用户猜错时会提示用户猜的数字是过大还是过小,知道用户猜对数字为止,猜对数字用的次数越少成绩越好。 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍python简单猜数游戏实例,包括了python简单猜数游戏实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python简单猜数游戏。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍java实现的简单猜数字游戏代码,包括了java实现的简单猜数字游戏代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现的简单猜数字游戏代码。分享给大家供大家参考。 具体代码如下: 运行结果如下图所示: 希望本文所述对大家的java程序设计有所帮助。

  • 本文向大家介绍C#实现简易猜数字游戏,包括了C#实现简易猜数字游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#实现简易猜数字游戏的具体代码,供大家参考,具体内容如下 游戏规则说明: 由系统生成一个随机数,玩家有三次猜数字的机会,如果在三次内猜出数字反馈玩家猜对了,否则Game Over! 代码设计说明: 1.首先设计一个简易的欢迎界面,并提示玩家是否开始游戏; 2.由系统自动

  • 我是JAVA新手,我一直在写一个数字猜谜游戏的代码,计算机从0-500的条件下选择数字:如果数字太低,用户输入0,计算机猜更低的数字;如果数字太高,用户输入1,计算机猜更高的数字 以5个猜测结束游戏 任何建议都将不胜感激!!!:d

  • 本文向大家介绍如何利用Python开发一个简单的猜数字游戏,包括了如何利用Python开发一个简单的猜数字游戏的使用技巧和注意事项,需要的朋友参考一下 前言 本文介绍如何使用Python制作一个简单的猜数字游戏。 游戏规则 玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示玩家所猜的数字与实际数字相比是“大(high)”还是“小(low)”,如此往复直到玩家猜对数字。 准备好Py