C++模具对计算麻烦

Kli*_*tel 1 c++ arrays loops visual-c++

这是一个我试图编写的简单游戏,然而,它并不像预期的那样高效......这是我的目标.阵列无法正常工作,整体逻辑不完整.我们的目标是:如果骰子上的第一辊的总和为2,3,或12,你告诉他/她失去了球员; 如果总和是7或11,你告诉玩家他/她赢了; 如果第一次掷骰是任何其他数字(4,5,6,8,9,10),则告诉玩家他/她必须再次滚动.现在扩展该程序如下 - 如果玩家被告知在第一次滚动后再次滚动(如果它是4,5,6,8,9,10),保存该数字,称之为"点".现在继续滚动,直到发生两件事之一 - 如果玩家在再次滚动"点数"之前滚动7,则玩家输掉并且转弯结束; 如果玩家在7滚动之前匹配"该点",则玩家获胜并且转弯结束.如果除了7或"点"之外的任何数字都没有发生任何事情并且玩家只是继续滚动.告诉玩家他们是赢还是输,每次掷骰的结果,以及获得结果需要多少卷.

在此输入图像描述

#include <iostream>
#include <ctime>

using namespace std;

int main()
{
    int die1, 
        die2, 
        sum, 
        point,
        rollChoice;
    static int rollCount;

    int *rolls = new int[];

    rollCount=1;
    point=0;

    srand(time(0));

    cout<<"Enter 1 to roll: ";
    cin>>rollChoice;

    if(rollChoice==1)
    {

        for (int i=0; i<INT_MAX; i++)
        {
            die1=rand()%10;
            die2=rand()%10;

            sum=die1+die2;

            rolls[sum];

            if(rolls[i] == 2 || rolls[i] == 3 || rolls[i] == 12)
            {
                cout<<"\nYou have lost!"<<endl;

                rollCount++;

                cout<<"\n";
                cin>>rollChoice;
            }

            else if(rolls[i] == 7 || rolls[i] == 11)
            {
                cout<<"\nYou have won!"<<endl;

                rollCount++;

                cout<<"\n";
                cin>>rollChoice;
            }
            else if(rolls[i] == 4 || rolls[i] == 5 || rolls[i] == 6 || rolls[i] == 8 || rolls[i] == 9 || rolls[i] == 10)
            {
                cout<<"\nYou have lost, roll again.";

                point=rolls[i];

                cout<<"\n";
                cin>>rollChoice;

                rollCount++;

                if(rollCount==7)
                {
                    for(int i=0; i<7; i++)
                    {
                        cout<<"\nRoll "<<i<<". "<<rolls[i];
                    }
                }
            }
        }
    }

    cin.get();
    cin.get();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)



Joh*_*136 8

  • rolls 是一个没有大小的数组,但你试图在其中粘贴东西.
  • 你有什么期望的for (int i=0; i<INT_MAX; i++)
  • rolls[sum]?这是一个NoOP
  • i使用i令人震惊的做法重新定义循环内部.

我建议你挖掘你的C/C++书籍并重温一些基础知识,然后在遇到问题时提出一些具体的问题!