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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今晚自习,作为完全0基础的我自己完善了下剪刀石头布游戏的代码,感觉每天都在进步,来到黑马几天,每天都觉得有所前进,心里暗自高兴,贴上代码,希望能给高点技术分,谢谢!!!

#include <stdlib.h>

#include <stdio.h>

int main(int argc, const char * argv[]) {
   
    while (1) {  //主题程序写完,可以搞个while死循环,一直玩下去
        
    //1.定义变量存储电脑的随机数值
    int computer = arc4random_uniform(3);
    //2.请用户输入一个数
    printf("请输入一个数,0.剪刀,1.石头,2.布\n");
    //定义一个变量存储用户输入的值
    int player = -1;
   
    scanf("%d",&player);
   
    //3.对用户输入的数合法性进行判断
    while (player <0 || player>2) {
        printf("你语文是体育老师教的吗?请输入0 1 2!!!\n");
        scanf("%d",&player);
    }
        printf("\n");
        
        if (player ==0) {
            printf("玩家:剪刀\n");  //打印玩家出拳
        }else if(player==1 ){
            printf("玩家:石头\n");
        }else{
            printf("玩家:布\n");
        }
      
        printf("\n");
      
        if (computer ==0) {      //打印电脑出拳
            printf("电脑:剪刀\n");
        }else if(computer==1 ){
            printf("电脑:石头\n");
        }else{
            printf("电脑:布\n");
        }
    //4.对用户输入的数字和电脑的进行判断
    if ((player==0&&computer==2)||
        (player==1&&computer==0)||
        (player==2&&computer==1)) {
        printf("恭喜你赢了!!!\n");
         printf("\n");
    } else if((player==2&&computer==0)||
              (player==0&&computer==1)||
              (player==1&&computer==2)){
        printf("哈哈,你输了!!!\n");
         printf("\n");
    }else {
        
        printf("\n");
        
        printf("平局\n");
        
    }
  
        char  op;        //定义一个变量存储用户输入判断的值
        
        scanf("%c",&op);
        while (op!='Y' && op!='N') {
            printf("你丫的还玩不玩了,继续玩请输入Y,不玩了请输入N!!!\n");
            scanf("%c",&op);
        }
        if (op=='N') {      //如果不玩了,跳出循环
            break;
        }
        
    }

    return 0;
}

增强了用户体验,有兴趣的朋友运行试试,还有什么可以改进的地方希望能多多交流,这里感谢旁边哥们的指导,希望早日甩掉小白的帽子,向小牛进军!

评分

参与人数 2黑马币 +15 收起 理由
大路朝天 + 5 神马都是浮云
魔主 + 10 赞一个!0基础共勉!

查看全部评分

21 个回复

倒序浏览
不错哦!都蛮好
回复 使用道具 举报
很专业的啊!
回复 使用道具 举报
不错嘛...感谢分享
回复 使用道具 举报
很不错,膜拜中
回复 使用道具 举报
其实可以再简化下
  1. if ((player==0&&computer==2)||
  2.         (player==1&&computer==0)||
  3.         (player==2&&computer==1)) {
  4.         printf("恭喜你赢了!!!\n");
  5.          printf("\n");
  6.     } else if((player==2&&computer==0)||
  7.               (player==0&&computer==1)||
  8.               (player==1&&computer==2)){
  9.         printf("哈哈,你输了!!!\n");
  10.          printf("\n");
  11.     }else {
  12.         
  13.         printf("\n");
  14.         
  15.         printf("平局\n");
  16.         
  17.     }
复制代码

回复 使用道具 举报
bieny 中级黑马 2015-4-11 21:36:28
7#
本帖最后由 bieny 于 2015-4-11 21:37 编辑

这样
  1. </blockquote></div>
  2. <div class="blockcode"><blockquote>if ((player==0&&computer==2)||
  3.         (player==1&&computer==0)||
  4.         (player==2&&computer==1)) {
  5.         printf("恭喜你赢了!!!\n");
  6.          printf("\n");
  7.     } else if((player==computer)
  8.         printf("平局\n");
  9.     }else {
  10. printf("你输了");
  11. }
复制代码


回复 使用道具 举报 1 0
受用了,老大,分点黑马币给我呗:lol
回复 使用道具 举报
大神,好流弊,膜拜,感谢分享----
回复 使用道具 举报
表示完全惊呆了,膜拜中
回复 使用道具 举报
楼主很有童心呀
回复 使用道具 举报
楼上的老大,你技术分够了,施舍点黑马币把
回复 使用道具 举报
很不错哎,
回复 使用道具 举报
牛逼,增强的不错
回复 使用道具 举报

确实不错,换一种思考方式,一下简单明了了,谢谢
回复 使用道具 举报
你确定你是零寄出的。
回复 使用道具 举报
本帖最后由 吴伟健 于 2015-4-11 22:12 编辑

我是学修飞机的,你说能不0基础吗:o
回复 使用道具 举报
杠杠的,很牛的样子
回复 使用道具 举报
嗯,很强大,学习了
回复 使用道具 举报
Logic 中级黑马 2015-4-11 23:00:14
20#
这也行?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马