参考代码
/**********************************************************/ //Function : main,投骰子游戏 //parm : //comment : //return : void //Author : //date : 2010.10.20 /**********************************************************/ #include <iostream.h> #include <stdlib.h> #include <time.h> int rollDice(void); void main() { enum Status{CONTINUE,WON,LOST}; int sum,myPoint,num = 1; Status gameStatus; srand(time(NULL)); sum = rollDice(); //first roll of the dice switch(sum) { case 7: case 11: gameStatus = LOST;//win on first roll break; case 2: case 3: case 12: gameStatus = WON; //lose on first roll break; default: gameStatus = CONTINUE; myPoint = sum; //remember point cout<<"Point is "<<myPoint<<endl; break; //optional } while(gameStatus == CONTINUE) //keeping rolling { num++; if(num <= 7) { sum = rollDice(); if(sum == myPoint) //win by making point gameStatus = WON; } else gameStatus = LOST; } if(gameStatus == WON) cout<<"Player wins!"<<endl; else cout<<"Player Loses!"<<endl; return; } int rollDice() //get sum of two random numbers between 1 and 7 { int die1,die2,workSum; die1 = 1 + rand() % 6; //first number die2 = 1 + rand() % 6; //second number workSum = die1 + die2; cout<<"Player rolled "<<die1<<" + "<<die2<<" = "<<workSum<<endl; return workSum; }