/* 使用C為開發工具 */
#include /* 包含DOS I/O函數 */
#include /* 包含亂數函式 */
#include /* 包含直接I/O函式 */
/* 程式開始 */
void main(void)
{
clrscr();
int i,j,k=0,l=0; /* k,l判斷A,B */
char answer[5],input[4]; /* answer為答案;input為玩家輸入*/
answer[0]=58; /* char為'0' */
randomize(); /* 設定亂數由時間取得 */
while(1) /* 進入遊戲 */
{
/* 電腦產生數值 */
for(i=1;i
{
answer[i]=rand()%11+48; /* 亂數值介於1-10,除以質數 */
/* 判斷是否有重複值 */
for(j=0;j
{
if(answer[i]==answer[j])
{
i--;
break;
}
}
}
/* 玩家開始玩遊戲 */
while(1)
{
printf("\nPlease input four number or input Esc to exit:\n");
/* 得到玩家輸入的值 */
for(i=0;i
{
input[i]=getche();
/* 假如輸入為esc則for迴圈 */
if(input[i]==27)
break;
/* 判斷玩家輸入是否為0-9的數目 */
if(input[i]57)
{
printf("\nWrong! You are not input number:\n");
i=-1;
}
/* 判斷玩家是否輸入相同的值 */
for(j=0;j
{
if(input[i]==input[j])
{
printf("\nWrong! You are input repeat number9:\n");
i=-1;
break;
}
}
}
/* 假如輸入為esc則跳出while迴圈並設key為1跳出遊戲 */
if(input[i]==27)
break;
/* 判斷為多少A多少B */
for(i=0;i
{
for(j=1;j
{
if(input[i]==answer[j])
{
if(i==j-1)
k++;
else
l++;
}
}
}
/* 4A為正確 */
if(k==4)
{
printf("\nYou are right!\n");
k=0;
l=0;
break;
}
/* 輸出AB */
else
{
printf("\n%dA%dB\n",k,l);
k=0;
l=0;
}
}
/* 要繼續玩輸入'y' */
printf("\nIf you want to play, please input y:\n");
if(getche()!='y')
break;
}
}
沒有留言:
張貼留言