/*游戏者每次投掷两颗骨子,每个骰子是一个正方体,当骰子停止时,将每个骰子朝上的点数相加, 在第一次投掷骰子时,如果所得到的和为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; }