通過一個隨機數函數來模擬投骰子的過程 還附帶了一個投骰子小遊戲的規則
// 投骰子.cpp : 每個骰子有六面,點數分別爲1、2、3、4、5、6。遊戲者在程序開始時輸入一個無符號整數,作爲產生隨機數的種子。每輪投兩次骰子,第一輪如果和數爲7或11則爲勝,遊戲結束;和數爲2、3或12則爲負,遊戲結束;和數爲其它值則將此值作爲自己的點數,繼續第二輪、第三輪...直到某輪的和數等於點數則取勝,若在此前出現和數爲7則爲負。
//
#include "stdafx.h"
#include<stdlib.h>
int dianshu ()
{
int dianshu1=rand()%6+1;
int dianshu2=rand()%6+1;
int sum=dianshu1+dianshu2;
printf("你的點數是%d+%d總和爲%d \n",dianshu1,dianshu2,sum);
return sum;
}
int _tmain(int argc, _TCHAR* argv[])
{
enum mood { win,lose,playing};
int point,seed,sum,moods=win,flag=1;
printf("請輸入你的幸運數字,要是正整數哦 \n");
scanf_s("%d",&seed);
srand(seed);
sum=dianshu();
switch(sum)
{
case 7:
case 11:
printf("you are a winner \n");break;
case 2:
case 3:
case 12:
printf("you are a losser \n");break;
default:
printf("the game is piaying \n");
moods=playing;
point=sum;break;
}
if(moods==playing)
{
while(flag>0)
{
point=sum;
sum=dianshu();
if(sum==7)
{
printf("you are a losser,game over \n");
flag=-1;break;
}
if(sum==point)
{
printf("you are a winner,game over \n");
flag=-1;break;
}
}
}
else
{
printf("game over \n");
}
return 0;
}