A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

上次发了个用C语言写得石头剪刀布的小游戏,但是上次那个程序太low了,只能执行一次如果想多玩两把,还必须反复执行,比较麻烦。在这里,巧妙利用死循环,让玩家可以多玩几把,直到玩家不想玩,要求结束游戏。下面就给出改进后的程序代码。
#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[])
{
   //1.定义两个个变量  电脑和用户,并且 剪刀 0 石头 1 布  2
    int player,computer;
    //3.提醒用户出拳
    printf("请出拳,其中0代表剪刀,1代表石头,2代表布,3 退出游戏\n");
    while(1)
    {
   //2.利用随机数,电脑出拳
    //computer= arc4random_uniform(3);//0 1 2
      computer=arc4random()%3;
      //printf("电脑的出拳为%d\n",computer);
   
   //4.接收用户的出拳
      scanf("%d",&player);

   //5.判断用户的出拳是否合理
      if(player<0||player>3)
      {
        printf("你的出拳不符合游戏规则\n");
        return 0;
      }
      else
      {
        if(player==3)
        {
            printf("游戏正在退出。。\n");
            return 0;
        }
        else
        {
   //6.用户出的拳和电脑出的拳做比较,判断输赢,输出比赛结果
     //用户:0  电脑2    用户胜
     //用户:1  电脑0    用户胜
     //用户:2  电脑1    用户胜
          if((player==0&&computer==2)||
            (player==1&&computer==0)||
            (player==2&&computer==1))
               printf("恭喜你赢了\n");
          else if ((player==2&&computer==0)||
             (player==0&&computer==1)||
             (player==1&&computer==2))
             printf("很遗憾,你输了\n");
          else
             printf("平局\n");
            printf("再来一次\n");
    /*
     else if(player==computer )
        printf("平局\n");
    else
        printf("很遗憾,你输了\n");
   */    }
   
      }
    }
}

1 个回复

倒序浏览
你好厉害,真给实现了!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马