第03天C语言(18):石头剪子布

一、概念
/*
 #include 
 arc4random_uniform(3); //  arc4random_uniform 方法会根据传入的整数 生成一个随机数
 生成的值 就是 0~[N-1]的值
 0~2
 */
二、代码
#include 
#include  // 随机数的一个库

int main()
{
    /*
     有两个角色 : 玩家(我), 电脑
     两个角色都可以出  0 == 石头/ 1 == 剪刀/ 2 == 布
     由于我们不知道玩家 和 电脑到底出的什么拳, 所以我们用 0、1、2 来代替 石头 / 剪刀 / 布
     玩家的出拳 可以让用户自己输入
     电脑的出拳 必须生成一个 随机数, 如何生成一个随机数?
     将玩家出拳 和 电脑的出拳进行比较, 得到比赛结果
     */
    
    // 石头 > 剪刀 / 剪刀 > 布 / 布 > 石头
#pragma 1. 随机数 (导入  )
    // 1. 生成电脑的出拳
    // arc4random_uniform(3); //  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);
    // 3.比较玩家 和 电脑的出拳
    /*
    if (玩家石头 电脑剪刀 ||
        玩家剪刀  电脑布 ||
        玩家布 电脑石头)
    {
        printf("玩家获胜");
    }
    else if (电脑石头 玩家剪刀 ||
        电脑剪刀  玩家布 ||
        电脑布 玩家石头)
    {
        printf("电脑获胜");
    }
    else
    {
        printf("和局");
    }
     */
    // 4.输出结果

    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");
    }

    printf("玩家出拳 %i,电脑出拳 %i\n",player,cmp);
    
    
    
    
    return 0;
}

你可能感兴趣的:(第03天C语言(18):石头剪子布)