第03天C語言(18):石頭剪子布

一、概念
/*
 #include <stdlib.h>
 arc4random_uniform(3); //  arc4random_uniform 方法會根據傳入的整數 生成一個隨機數
 生成的值 就是 0~[N-1]的值
 0~2
 */
二、代碼
#include <stdio.h>
#include <stdlib.h> // 隨機數的一個庫

int main()
{
    /*
     有兩個角色 : 玩家(我), 電腦
     兩個角色都可以出  0 == 石頭/ 1 == 剪刀/ 2 == 布
     由于我們不知道玩家 和 電腦到底出的什么拳, 所以我們用 0、1、2 來代替 石頭 / 剪刀 / 布
     玩家的出拳 可以讓用戶自己輸入
     電腦的出拳 必須生成一個 隨機數, 如何生成一個隨機數?
     將玩家出拳 和 電腦的出拳進行比較, 得到比賽結果
     */
    
    // 石頭 > 剪刀 / 剪刀 > 布 / 布 > 石頭
#pragma 1. 隨機數 (導入 <stdlib.h> )
    // 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;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容