掷骰子游戏

/*

游戏者每次投掷两颗骨子,每个骰子是一个正方体,当骰子停止时,将每个骰子朝上的点数相加,

在第一次投掷骰子时,如果所得到的和为7或11,那么游戏者为胜;所得和为2、3或12则输

如和为4、5、6、8、9或 10,则此和为游戏者点数。

如要想赢得胜利,必须继续投掷骰子,直到取和得自己的点数(也即规则2的点数)为止,

如果投掷出的和为7,则为输(并非指第一次投掷的情况下)

要  求

 main函数中可选择是继续还是退出游戏,统计并显示游戏获胜次数和输掉次数。

 */

#include<iostream>

#include<ctime>

using namespace std;

void main()

{

         cout<<"是否开始游戏(Y/N)"<<endl;

         char choice;

         int num1,num2,sum,tag,win=0,lose=0;

         cin>>choice;

         while(true)

         {

                  

                   if(choice!='Y'&&choice!='y')

                   {

                            cout<<"获胜"<<win<<"次"<<endl;

                            cout<<"输掉"<<lose<<"次"<<endl<<endl;

                            return;

                   }

                   srand((unsigned)time(NULL)+rand());

                   num1=1+rand()%6;

                   num2=1+rand()%6;

                   cout<<num1<<'\t'<<num2<<endl;

                   tag=num1+num2;

                   sum=num1+num2;

                   if(sum==7||sum==11)

                   {

                            cout<<"You win!!!"<<endl<<endl;

                            win++;

                   }

                   else if(sum==2||sum==3||sum==12)

                   {

                            cout<<"GAME OVER!!!"<<endl<<endl;

                            lose++;

                   }

                   else

                   {

                            while(true)

                            {

                                     cout<<"你还有机会哦,请按任意键继续掷骰子"<<endl;

                                     system("pause");

                                     cout<<endl;

                                     srand((unsigned)time(NULL)+rand());

                                     num1=1+rand()%6;

                                     num2=1+rand()%6;

                                     cout<<num1<<'\t'<<num2<<endl;

                                     sum=num1+num2;

                                     if(sum==7)

                                     {

                                               cout<<"GAME OVER!!!"<<endl;

                                               lose++;

                                               break;

                                     }

                                     else if(sum==tag)

                                     {

                                               cout<<"You win!!!"<<endl;

                                               win++;

                                               break;

                                     }

                            }

                   }

                   cout<<"是否继续该游戏(Y/N)"<<endl;

                   cin>>choice;

         }

         cout<<"获胜"<<win<<"次"<<endl;

         cout<<"输掉"<<lose<<"次"<<endl<<endl;

}

posted @ 2012-11-22 23:08  ♂咱說 ろ算  阅读(386)  评论(0编辑  收藏  举报