自己用C写的一个小程序

/*简单的一个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;
}

有一点不完善,第二项是画蛇添足,让大家见笑了,呵呵.

有时间我会发一些其他的小程序或心得,希望和大家共同进步.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值