C语言实现与电脑玩剪刀石头布游戏

  #include

  #include

  #include

  void menu()//游戏菜单

  {

  printf(" 1.play

  ");

  printf(" 0.exit

  ");

  }

  void game()//游戏模块

  {

  system("cls");//做了一个清屏处理,每次开始新游戏时,清除上一次游戏记录。

  int b, c;

  printf("游戏:剪刀石头布

  ");

  printf("请选择你要出的手势>:

  ");

  printf("1.石头 2.剪刀 3.布

  ");

  scanf("%d", &c);

  b = rand() % 3 + 1;//产生1、2、3之间的一个随机值

  //printf("%d

  ", b);//调试过程中以确保b的值对应且随机

  if (c == b)//开始判断输赢

  printf("电脑和你出了一样的手势,本局平局。

  ");

  else if ((b - c + 3) % 3 == 1)

  {

  if (b == 1)

  printf("你赢了,电脑出了石头。

  ");

  else if (b == 2)

  printf("你赢了,电脑处了剪刀。

  ");

  else

  printf("你赢了,电脑出了布。

  ");

  }

  else

  {

  if (b == 1)

  printf("你输了,电脑出了石头。

  ");

  else if (b == 2)

  printf("你输了,电脑处了剪刀。

  ");

  else

  printf("你输了,电脑出了布。

  ");

  }

  }

  int main()

  {

  int a;

  srand((unsigned int)time(NULL));//随机种子,让电脑可以随机生成一个值

  do

  {

  menu();

  scanf("%d", &a);

  switch (a)

  {

  case 1:

  game();

  case 0:

  break;

  default:

  printf("输入错误,请重新输入。

  ");

  }

  } while (a);

  return 0;

  }