/*简单的一个C写的猜拳游戏,根据菜单选项,
你任出一个(剪子,包袱,拳头),电脑随机出,比较看谁赢了比赛.可循环玩下去,直到你输入值为0.
扩展:可以加上赌注,每玩一次下赌注,输完则显示赢家并退出比赛,否则继续
*/
/*包含头文件*/
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<time.h>
/*函数原型声明*/
void printMeuo(void);
void startGame(void);
void guess(int);
int compa(int,int);
void gameSet(void);
void gameOver(void);
/*主函数开始*/
int main(void)
{
int num;
printMeuo();
scanf("%d",&num);
while(num<1 || num>3)
{
printf("DateError!\n");
printMeuo();
scanf("%d",&num);
}
while(1)
{
switch(num)
{
case 1: startGame(); break;
case 2: gameSet(); break;
case 3: gameOver(); break;
}
}
}
void printMeuo(void)
{
printf("-------------猜拳游戏-------------\n");
printf("显示菜单:\n\t1-游戏开始\n\t2-游戏帮助\n\t3-退出游戏\n");
printf("----------------------------------\n");
printf("请选择:");
}
void guess(int gues)
{
if(gues==1)
printf("剪子");
else if(gues==2)
printf("包袱");
else
printf("拳头");
}
void startGame(void)
{
int you_guss,com_guss;
srand(time(NULL));
printf("您要出的项是(1-剪子,2-包袱,3-拳头) :");
scanf("%d",&you_guss);
if(you_guss==0)
exit(0);
com_guss=rand()%3+1; //计算机出的项
printf("您出的是:");
guess(you_guss);
printf("\n计算机出的是:");
guess(com_guss);
printf("\n");
compa(you_guss,com_guss);
}
/*核心比较程序*/
int compa(int you_gus,int com_gus)
{
if(you_gus==1)
{
switch(com_gus)
{
case 1:
printf("平局.\n"); break;
case 2:
printf("您赢了比赛.\n"); break;
case 3:
printf("计算机赢得比赛.\n"); break;
}
}
if(you_gus==2)
{
switch(com_gus)
{
case 1:
printf("计算机赢得比赛.\n"); break;
case 2:
printf("平局.\n"); break;
case 3:
printf("您赢了比赛.\n"); break;
}
}
if(you_gus==3)
{
switch(com_gus)
{
case 1:
printf("您赢了比赛.\n"); break;
case 2:
printf("计算机赢得比赛.\n"); break;
case 3:
printf("平局.\n"); break;
}
}
}
void gameSet(void)
{
printf("--------------------------\n");
printf("选择第一项开始游戏,选择2显示帮助信息,选择3则退出.\n");
}
/*结束游戏*/
void gameOver(void)
{
exit(0);
return 0;
}
有一点不完善,第二项是画蛇添足,让大家见笑了,呵呵.
有时间我会发一些其他的小程序或心得,希望和大家共同进步.