由于延时,结果每隔1秒出来一行,倒也好看。见图:
下面再给一种方案,种子数不再每次获得随机数前置,而是在main函数开始时设置,也能得到好的效果。见程序:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class shaizi
{
public:
void setdian();
int getdian();
private:
int dian;
};
const int round=9; //round必须置一个奇数
int main()
{
shaizi s1,s2;
int i=1,n1=0,n2=0;
srand(time(0)); //设置一次种子数,决定整个程序中用到的随机序列
while(i<=round)
{
s1.setdian();
s2.setdian();
cout《"第"《i《"轮: 甲 "《s1.getdian()《",乙: "《s2.getdian();
if(s1.getdian()>s2.getdian())
n1++;
else if (s2.getdian()>s1.getdian())
n2++;
else
{
cout《",平局重掷 "《endl;
continue;
}
i++;
cout《endl;
if(n1==(round/2+1)||n2==(round/2+1))
break;
}
cout 《 "甲赢 "《n1《" 轮,乙赢 "《n2《" 轮";
if(n1>n2)
cout《",甲胜"《endl;
else if(n2>n1)
cout《",乙胜"《endl;
return 0;
}
int shaizi::getdian()
{
return dian;
}
void shaizi::setdian()
{
dian=rand()%6+1;
}
该还有别的方案,评论中接龙。