Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 边做边循环问题:尝试开发一个简单的游戏_C++_Loops_While Loop_Do While_Dice - Fatal编程技术网

C++ 边做边循环问题:尝试开发一个简单的游戏

C++ 边做边循环问题:尝试开发一个简单的游戏,c++,loops,while-loop,do-while,dice,C++,Loops,While Loop,Do While,Dice,嗯,我写这封信是为了做一个骰子游戏。我试着在这里搜索骰子游戏,但似乎没有一个能回答我的问题。这不是掷骰子的问题。这是关于do while循环的。我是这个网站的新手,我刚刚通过Maximum PC杂志了解到这一点,所以请耐心等待。我也是编程新手 这是我的密码: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main(){ srand(t

嗯,我写这封信是为了做一个骰子游戏。我试着在这里搜索骰子游戏,但似乎没有一个能回答我的问题。这不是掷骰子的问题。这是关于do while循环的。我是这个网站的新手,我刚刚通过Maximum PC杂志了解到这一点,所以请耐心等待。我也是编程新手

这是我的密码:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;
int main(){

    srand(time(NULL));

    int userRoll = rand() % 6 + 1 ;
    int computerRoll = rand() % 6 + 1 ;
    string yesOrNoChoice;
    string commandToThrowDie;


    do{
        cout << "Please enter \"throw\" (lowercase) to roll the die: ";
        cin >> commandToThrowDie;
    } while(commandToThrowDie != "throw");

    do{
        cout << "You rolled: " << userRoll << endl
             << "The Computer rolled: " << computerRoll << endl;

        if (userRoll < computerRoll){
            cout << "You lose. Try again? [Yes/No]: ";
         }
        if (computerRoll < userRoll){
            cout << "You win! Try again? [Yes/No]: ";
        }
        if (computerRoll == userRoll) {
            cout << "It's a draw. Try again? [Yes/No]: ";
        }
        cin >> yesOrNoChoice;
    } while(yesOrNoChoice != "Yes"); 

    system ("pause");
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
srand(时间(空));
int userRoll=rand()%6+1;
int computerRoll=rand()%6+1;
字符串是或无选择;
字符串命令到箭头;
做{
命令箭头;
}while(commandToThrowDie!=“扔”);
做{

cout我复制了你的代码,它编译并运行得非常完美。没有意义,但没有问题。我说它没有意义,因为当输入“是”时,这就是它的致命原因。我相信你想要它的
(yesOrNoChoice==“是”)
。也许把它当作
!=
会让你觉得自己的行为是错误的?此外,你应该使用
if,else if,else
语句,而不仅仅是
if

你的实际问题是什么?你有什么问题?你尝试了什么?请正确格式化你的代码-随机阅读非常困难缩进。“第二个做,而循环不起作用。我在那里的一个滚动”:“我不明白为什么它不起作用,它可能是编码的……或者我想。我仍然是一个新的编程方式:”DynVialauel:你有一本关于C++的好书吗?如果没有,那么在这里查看列表:你不应该搜索“骰子游戏”。,这种想法是错误的:这些词不能描述您的编程问题。另外,在调试器中学习一步一步地运行您的程序,您可能已经注意到了问题。当您这样思考时,问题可能会变得更清楚:您希望循环继续,只要用户输入“是”。因此,您需要在while(yesOrNoChoice==“Yes”)
时重复查看
,也就是说,只要用户输入“Yes”。您可能已经将
do{…}while(…)
loop{…}之类的内容混淆,直到(…)
,这在C或C++中不存在:解决了程序被终止的部分。但是每当我尝试输入时“是”,它仍然会输出相同的结果。例如,用户骰子:3,计算机骰子5,当我重试时,它仍然输出相同的数字。它不会被srand()再次播种。但是,谢谢你的帮助。非常有用:)是的,我知道会的,但是你说问题不是关于游戏的,所以我没有提到。每次循环进行时,你都需要生成你的
rand()
。哦,好的,我现在明白了。这完全解决了问题。谢谢!我现在让它稳定运行了。