/*游戏者每次投掷两颗骨子,每个骰子是一个正方体,当骰子停止时,将每个骰子朝上的点数相加,
在第一次投掷骰子时,如果所得到的和为7或11,那么游戏者为胜;所得和为2、3或12则输
如和为4、5、6、8、9或 10,则此和为游戏者点数。
如要想赢得胜利,必须继续投掷骰子,直到取和得自己的点数(也即规则2的点数)为止,
如果投掷出的和为7,则为输(并非指第一次投掷的情况下)
要求main函数中可选择是继续还是退出游戏,统计并显示游戏获胜次数和输掉次数。*/
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<stdio.h>
using namespace std;
int Wincount=0,Losecount=0,count=0,num11;
int myth()
{
int num1,num2;
srand((unsigned)time(0));
num1=1+rand()%6;
cout<<"筛子1点数"<<num1<<endl;
num2=1+rand()%6;
cout<<"筛子2点数"<<num2<<endl;
int num=num1+num2;
cout<<"筛子1,2点数和"<<num<<endl;
if(count==0)
{
if(num==7||num==11)
{
Wincount++;
count=0;
return 0;
}
else if(num==2||num==3||num==12)
{
Losecount++;
count=0;
return 0;
}
else
{
count++;
num11=num;
}
}
else
{
if(num==7)
{
Losecount++;
count=0;
return 0;
}
else if(num==num11)//少了一个=号啊,居然不报错
{
Wincount++;
count=0;
return 0;
}
}
return 0;
}
int main()
{
myth();
do
{
printf("是否想继续游戏(Y/N)\n");
char c;
cin>>c;
c=tolower(c);
while(c!='y'&&c!='n')
{
printf("输入有误,请重新输入\n");
cin>>c;
c=tolower(c);
}
if(c=='y')
myth();
else if(c=='n')
break;
}while(1);
printf("赢的次数\n");
cout<<Wincount<<endl;
printf("输的次数\n");
cout<<Losecount<<endl;
return 0;
}
/*游戏者每次投掷两颗骨子,每个骰子是一个正方体,当骰子停止时,将每个骰子朝上的点数相加,
在第一次投掷骰子时,如果所得到的和为7或11,那么游戏者为胜;所得和为2、3或12则输
如和为4、5、6、8、9或 10,则此和为游戏者点数。
如要想赢得胜利,必须继续投掷骰子,直到取和得自己的点数(也即规则2的点数)为止,
如果投掷出的和为7,则为输(并非指第一次投掷的情况下)
要求main函数中可选择是继续还是退出游戏,统计并显示游戏获胜次数和输掉次数。*/
#include<iostream>
using namespace std;
int Wincount=0,Losecount=0,count=0,num11;
void myth()
{
int num1=1+rand()%6;
int num2=1+rand()%6;
int num=num1+num2;
if(count==0)
{
if(num==7||num==11)
{
Wincount++;
count=0;
return;
}
else if(num==2||num==3||num==12)
{
Losecount++;
count=0;
return;
}
else
{
count++;
num11=num;
}
}
else
{
if(num==7)
{
Losecount++;
count=0;
return;
}
else if(num=num11)
{
Wincount++;
count=0;
return;
}
}
}
int main()
{
do
{
myth();
printf("是否想继续游戏(Y/N)\n");
char c;
cin>>c;
c=tolower(c);
while(1)
{
if(c=='Y')
myth();
else if(c=='N')
break;
else
printf("输入有误,请重新输入\n");
}
}while(1);
return 0;
}