⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 猜拳游戏.c

📁 猜拳游戏(C语言),显示"石头"、"剪子"、"布",让你选择
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int random(int maxlim);
int judgewin(char h1,char h2);
void disphand(char h);

void main()
{
  char man,computer;
  char wantplay;

  //重置随机数序列
  srand( (unsigned)time( NULL ) );

  printf("-----------猜      拳--------------\n");
  do
  {
    //您出拳
    while(1)
    {
      printf("您出什么拳?(1--石头 2--剪子 3--布):");
      man=getche();
      if(man<'1'||man>'3')
        printf("您出的不是拳!\n");
      else
        break;
    }
    //显示您出的拳
    printf("\n您出的是");
    disphand(man);
    printf("\n");

    //电脑出拳
    computer=random(3) + '1';
    
    //显示电脑出的拳
    printf("我出的是");
    disphand(computer);
    printf("\n");

    //判断胜负
    switch(judgewin(man,computer))
    {
    case 0://平
      printf("不分胜负\n");
      break;
    case 1://您赢
      printf("唉! 我输了。\n");
      break;
    case -1://电脑赢
      printf("哈哈! 我赢了。\n");
      break;
    }

    printf("还玩吗?(Y/N)");
    wantplay=getche();
    printf("\n\n");
  }while(wantplay=='y'||wantplay=='Y');

}

//产生0到maxlim之间的随机数
int random(int maxlim)
{
  float number;

  number=((float)rand()/RAND_MAX)*maxlim;
  return((int)number);
}

//判断h1和h2的胜负
int judgewin(char h1,char h2)
{
  if(h1==h2)
    return 0;//peace
  else if( (h1=='1'&&h2=='2')   //    h1出石头,h2出剪子
         ||(h1=='2'&&h2=='3')   //或者h1出剪子,h2出布
         ||(h1=='3'&&h2=='1') ) //或者h1出布  ,h2出石头
    return 1;//h1 win
  else
    return -1;//h2 win
}

//根据h的值显示"石头"、"剪子"、"布"
void disphand(char h)
{
  switch(h)
  {
  case '1':
    printf("石头");
    break;
  case '2':
    printf("剪子");
    break;
  case '3':
    printf("布");
    break;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -