在路上moving 2015-12-10 10:54 采纳率: 0%
浏览 2583
已结题

用C语言联网,命令行实现三人玩石头剪刀布游戏 从三台电脑输入,

有没人做过三人联网玩小游戏的啊 一个大作业,用C语言联网,命令行实现三人玩石头剪刀布游戏 从三台电脑输入,一点头绪没有。

又没做过类似的小游戏的啊 完全用C编写,用命令行来输入石头剪刀布,请各位帮帮忙 啊!

  • 写回答

3条回答 默认 最新

  • qingrenufo 2015-12-11 07:29
    关注

    用1、2、3来表示剪刀、石头、布,然后先用scanf函数读取用户的输入,再用rand函数产生一个随机数,最后进行比较就可以了。
    #include
    #include
    #include

    void main()
    {
    int com,user;
    char c;

    srand((unsigned)time(NULL)); //初始化随机数,如果没有这条语句,每次运行电脑产生的随机数序列都是一样的
    printf("进入游戏\n");
    do{
        printf("请出拳(1.剪刀、2.石头、3.布):");
        scanf("%d",&user);
        com=rand()%3+1; //产生1-3范围内的随机数
        printf("电脑出%s\n",com==1?"剪刀":com==2?"石头":"布");
        switch(com-user) //用电脑产生的数和用户输入的数的差值来判断胜负
        {
        case 0:
            printf("平手\n");
            break;
        case 1:
        case -2:
            printf("电脑赢了\n");
            break;
        case -1:
        case 2:
            printf("你赢了\n");
        }
        printf("继续游戏按Y键、其它键退出");
        getchar();
        c=getchar();
    }while(c=='y' || c=='Y');
    printf("已经退出游戏");
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码