#include <stdlib.h>
#include <time.h>
void main()
{
int rand_0(void);
int game(int inp);
int start,yes=1,inp,inp_1=1; char y;
while(yes) /*預防用戶輸入1或2以外的數據*/
{
printf("1:開始遊戲\n2:排行榜\n");
scanf("%d",&start);
if((start!=1)&&(start!=2))
{
printf("請輸入1或2\n");
}
else
yes=0;
}
start:
if(start==1) /*如果用戶選擇開始遊戲……*/
{
printf("妳出?\n1:石頭\n2:剪刀\n3:布\n");
while(inp_1) /*預防用戶輸入別的數據*/
{
scanf("%d",&inp);
if((inp!=1)&&(inp!=2)&&(inp!=3))
{
printf("妳出?\n1:石頭\n2:剪刀\n3:布\n");
}
else
{
inp_1=0;
switch(game(inp))
{
case 1:printf("\n\n恭喜妳,妳贏了!\n\n");break;
case 0:printf("\n\n很遺憾,妳輸了!\n\n");break;
case 2:printf("\n\n平局\n\n");break;
}
}
}
}
inp_1=1;
printf("\n\n是否重新開始遊戲?(y/n)");
scanf("%s",&y);
if((y=='y')||y=='Y')
goto start;
else
return 0;}
int rand_0(void) /*取隨機數*/
{
int i,rand_1;
srand((unsigned)time(NULL));
for(i=1;i<=10;i++)
{
rand_1=rand()%4;
if(rand_1==0) continue;
return(rand_1);
}
}
int game(int inp)
{
int random,win; /*win變量,1是贏,2是平,0是輸*/
random=rand_0();
switch(inp)
{
case 1:if(random==3) return win=0;
else if(random==2) return win=1;
else return win=2;
case 2:if(random==3) return win=1;
else if(random==2) return win=2;
else return win=0; case 3:if(random==3) return win=2;
else if(random==2) return win=1;
else return win=0;
}
}就做了那麽點點。。。