C语言day03-18石头剪刀布

pragma mark 石头剪刀布

/**
 *  随机数(函数库 stdlib.h)
 *  arc4random_uniform(n)  生成 的值就是 0~(n-1)的值
 */
#include <stdio.h>
#include <stdlib.h>
int main()
{
    /*
     有两个角色 : 玩家(我)、电脑
     两个角色 都可以出 0 == 石头/ 1 == 剪刀/ 2 == 布
     由于我们不知道玩家和电脑到底出的是什么拳,所以我们用0,1,2来代替石头/剪刀/布
     
     玩家的出拳可以让用户输入
     电脑的出拳必须 生产 一个随机数, 如何生成随机数?
     将玩家的出拳和电脑的出拳进行比较, 得到比赛结果
     
      石头 > 剪刀
      剪刀 > 布
      布 > 石头
     */
    
    // 1. 生成 电脑的出拳
    // arc4random_uniform方法会根据传入的整数 生成一个随机数
    // 生成 的值就是 0~(N-1)的值
    int cmp = arc4random_uniform(3);
//    printf("cmp = %i\n",cmp);
    
    // 2. 接收玩家的出拳
    // 2.1 定义变量保存玩家的出拳
    int player = - 1;
    // 2.2 利用scanf 接收
    printf("请输入出拳,0代表石头, 1代表剪刀,2代表布\n");
    scanf("%i",&player);
    /*
    if (玩家石头 电脑剪刀 ||
        玩家剪刀 电脑布 ||
        玩家布 电脑石头)
    {
        printf("玩家 胜利");
    }
    else if (电脑石头 玩家剪刀 ||
        电脑剪刀 玩家布 ||
        电脑布 玩家石头)
    {
        printf("电脑获胜");
    }
    else
    {
        printf("平局");
    }
     */
    // 3. 比较玩家和电脑的出拳
    if (((0==player)&& (1==cmp)) ||
        ((1==player)&& (2==cmp)) ||
        ((2==player)&& (0==cmp)))
    {
        printf("玩家 胜利\n");
    }
    else if (((0==cmp)&& (1==player)) ||
             ((1==cmp)&& (2==player)) ||
             ((2==cmp)&& (0==player)))
    {
        printf("电脑 胜利\n");
    }
    else
    {
        printf("平局\n");
    }
    // 4. 输出结果
    printf("player %i, cmp %i\n",player,cmp);
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容