欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜拳小游戲

 更新時(shí)間:2021年03月01日 15:49:38   作者:ℳ๓夢(mèng)ζ殤  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單猜拳小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的一個(gè)猜拳小游戲,供大家參考,具體內(nèi)容如下

全部代碼

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<Windows.h>
int pcinput; //電腦輸入
int userinput; //用戶輸入
#define echo ">_ " //俺覺(jué)得好看
char case_win(int left, int right);//判斷哪邊贏了;left是玩家,right是電腦
int echoinput(int inputnum);//根據(jù)兩個(gè)全局變量輸出對(duì)應(yīng)進(jìn)行的操作
int main() {
 printf("規(guī)則\n\n");
 puts("1.石頭\n");
 puts("2.剪刀\n");
 puts("3.布 \n");
 printf("%s你的輸入:", echo);
 scanf_s("%d", &userinput);
 printf("\n");
 if (echoinput(userinput) == 1) {
 Sleep(1000);
 system("cls");
 main();
 }
 else {
 printf("\n");
 printf("\n");
 printf("%s等待電腦結(jié)果.\0", echo);
 Sleep(500);
 printf(".");
 Sleep(500);
 printf(".\n");
 srand(time(NULL));
 pcinput = rand() % 3 + 1;
 printf("\n");
 echoinput(pcinput);
 printf("\n");
 printf("\n");
 if (case_win(userinput,pcinput) == 'L') {
 printf("玩家勝利");
 }
 else if(case_win(userinput,pcinput)=='R'){
 printf("電腦勝利");
 }
 else {
 printf("雙方平局");
 }
 printf("\n");
 printf("\n");
 printf("--------------------");
 printf("\n");
 printf("\n");
 printf("三秒后繼續(xù)...");
 Sleep(1000);
 printf("二秒后繼續(xù)...");
 Sleep(1000);
 printf("一秒后繼續(xù)...");
 Sleep(1000);
 system("cls");
 main();
 }
 return 0;
}
char case_win(int left, int right) {
 char reslut;
 /*
 *聲明
 *石頭->1
 *剪刀->2
 * _布->3
 */
 /*
 * 規(guī)則:
 * 石頭->剪刀
 * 剪刀->布
 * 布->石頭
 */
 /*判斷,左邊是玩家*/
 if (left == right) {
 reslut = 'P';
 }
 else {
 if (left == 1) {
 if (right == 2) {
 reslut = 'L';
 }
 else if (right == 3) {
 reslut = 'R';
 }
 }
 else if (left == 2) {
 if (right == 1) {
 reslut = 'R';
 }
 else if (right == 3) {
 reslut = 'L';
 }
 }
 else if (left == 3) {
 if (right == 1) {
 reslut = 'L';
 }
 else if (right == 2) {
 reslut = 'R';
 }
 }
 }
 return reslut;
}
int echoinput(int inputnum) {
 int reslut = 0;
 switch (inputnum) {
 case 1:
 printf("(石頭)");
 break;
 case 2:
 printf("(剪刀)");
 break;

 case 3:
 printf("(布)");
 break;
 default:
 printf("(輸入有誤)");
 reslut = 1;
 break;
}
 return reslut;
}

全局變量

int pcinput; //電腦輸入
int userinput; //用戶輸入

函數(shù)定義

char case_win(int left, int right);//判斷哪邊贏了;left是玩家,right是電腦
int echoinput(int inputnum);//根據(jù)兩個(gè)全局變量輸出對(duì)應(yīng)進(jìn)行的操作

打印 規(guī)則和輸入提示

printf("規(guī)則\n\n");
puts("1.石頭\n");
puts("2.剪刀\n");
puts("3.布 \n");
printf("%s你的輸入:", echo);
scanf_s("%d", &userinput);
printf("\n");

Main方法中的主要邏輯

int main() {
 printf("規(guī)則\n\n");
 puts("1.石頭\n");
 puts("2.剪刀\n");
 puts("3.布 \n");
 printf("%s你的輸入:", echo);
 scanf_s("%d", &userinput);
 printf("\n");
 if (echoinput(userinput) == 1) {
 Sleep(1000);
 system("cls");
 main();
 }
 else {
 printf("\n");
 printf("\n");
 printf("%s等待電腦結(jié)果.\0", echo);
 Sleep(500);
 printf(".");
 Sleep(500);
 printf(".\n");
 srand(time(NULL));
 pcinput = rand() % 3 + 1;
 printf("\n");
 echoinput(pcinput);
 printf("\n");
 printf("\n");
 if (case_win(userinput,pcinput) == 'L') {
 printf("玩家勝利");
 }
 else if(case_win(userinput,pcinput)=='R'){
 printf("電腦勝利");
 }
 else {
 printf("雙方平局");
 }
 printf("\n");
 printf("\n");
 printf("--------------------");
 printf("\n");
 printf("\n");
 printf("三秒后繼續(xù)...");
 Sleep(1000);
 printf("二秒后繼續(xù)...");
 Sleep(1000);
 printf("一秒后繼續(xù)...");
 Sleep(1000);
 system("cls");
 main();
 }
 return 0;
}

函數(shù)實(shí)現(xiàn)-判斷輸入

當(dāng)參數(shù)inputnum為1,2,3時(shí),進(jìn)行對(duì)應(yīng)的打印操作,如果有誤在Main方法中清屏遞歸

int echoinput(int inputnum) {
 int reslut = 0;
 switch (inputnum) {
 case 1:
 printf("(石頭)");
 break;
 case 2:
 printf("(剪刀)");
 break;

 case 3:
 printf("(布)");
 break;
 default:
 printf("(輸入有誤)");
 reslut = 1;
 break;
}
 return reslut;
}

邏輯函數(shù)-判斷輸贏

char case_win(int left, int right) {
 char reslut;
 /*
 *聲明
 *石頭->1
 *剪刀->2
 * _布->3
 */
 /*
 * 規(guī)則:
 * 石頭->剪刀
 * 剪刀->布
 * 布->石頭
 */
 /*判斷,左邊是玩家*/
 if (left == right) {
 reslut = 'P';
 }
 else {
 if (left == 1) {
 if (right == 2) {
 reslut = 'L';
 }
 else if (right == 3) {
 reslut = 'R';
 }
 }
 else if (left == 2) {
 if (right == 1) {
 reslut = 'R';
 }
 else if (right == 3) {
 reslut = 'L';
 }
 }
 else if (left == 3) {
 if (right == 1) {
 reslut = 'L';
 }
 else if (right == 2) {
 reslut = 'R';
 }
 }
 }
 return reslut;
}

實(shí)現(xiàn)邏輯函數(shù)的返回值

/*
當(dāng)返回值reslut為'L'時(shí),玩家勝利
當(dāng)返回值reslut為'R'時(shí),電腦勝利
否則雙方平局
*/

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談C++ IO流

    淺談C++ IO流

    這篇文章主要介紹了C++ IO流的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C語(yǔ)言以數(shù)據(jù)塊的形式讀寫(xiě)文件實(shí)例代碼

    C語(yǔ)言以數(shù)據(jù)塊的形式讀寫(xiě)文件實(shí)例代碼

    本文主要介紹C語(yǔ)言中以數(shù)據(jù)塊的形式讀寫(xiě)文件,這里提供了實(shí)例代碼舉例說(shuō)明,有需要的小伙伴可以參考下
    2016-07-07
  • 用C++實(shí)現(xiàn)推箱子

    用C++實(shí)現(xiàn)推箱子

    這篇文章主要為大家詳細(xì)介紹了用C++實(shí)現(xiàn)推箱子,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • C++模擬實(shí)現(xiàn)vector的示例代碼

    C++模擬實(shí)現(xiàn)vector的示例代碼

    大家在學(xué)習(xí)C++的時(shí)候一定會(huì)學(xué)到STL(標(biāo)準(zhǔn)模板庫(kù)),這是C++標(biāo)準(zhǔn)庫(kù)中最重要的組成部分,它包含了常用的數(shù)據(jù)結(jié)構(gòu)和算法。今天呢,我們首先來(lái)學(xué)習(xí)STL中的vector容器
    2022-09-09
  • C語(yǔ)言函數(shù)調(diào)用基礎(chǔ)應(yīng)用詳解

    C語(yǔ)言函數(shù)調(diào)用基礎(chǔ)應(yīng)用詳解

    函數(shù)就是一段封裝好的,可以重復(fù)使用的代碼,它使得我們的程序更加模塊化,不需要編寫(xiě)大量重復(fù)的代碼。這篇文章主要介紹了c語(yǔ)言是如何處理函數(shù)調(diào)用的?需要的朋友可以參考下
    2023-02-02
  • 舉例講解C語(yǔ)言對(duì)歸并排序算法的基礎(chǔ)使用

    舉例講解C語(yǔ)言對(duì)歸并排序算法的基礎(chǔ)使用

    這篇文章主要介紹了C語(yǔ)言對(duì)歸并排序算法的使用,歸并排序算法的平均事件復(fù)雜度為(n\log n),需要的朋友可以參考下
    2016-05-05
  • C++設(shè)計(jì)模式之組合模式(Composite)

    C++設(shè)計(jì)模式之組合模式(Composite)

    這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之組合模式Composite,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Qt5開(kāi)發(fā)視頻播放器的項(xiàng)目實(shí)踐

    Qt5開(kāi)發(fā)視頻播放器的項(xiàng)目實(shí)踐

    Qt對(duì)音視頻的播放和控制、相機(jī)拍攝、收音機(jī)等多媒體應(yīng)用提供了強(qiáng)大的支持,本文主要介紹了Qt5開(kāi)發(fā)視頻播放器,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • C++單一職責(zé)原則示例代碼淺析

    C++單一職責(zé)原則示例代碼淺析

    我們?cè)谠O(shè)計(jì)一個(gè)類時(shí)要學(xué)會(huì)發(fā)現(xiàn)職責(zé),并把那些職責(zé)相互分離,其實(shí)要去判斷是否應(yīng)該分離出一個(gè)類來(lái)并不難,前面說(shuō)過(guò),一個(gè)類應(yīng)該只有一個(gè)引起它變化的原因,如果你能想到其它的原因也能去改變這個(gè)類,那么這個(gè)類就具有多于1個(gè)的職責(zé),就應(yīng)該考慮類的職責(zé)分離
    2023-02-02
  • C++?string如何獲取文件路徑文件名、文件路徑、文件后綴(兩種方式)

    C++?string如何獲取文件路徑文件名、文件路徑、文件后綴(兩種方式)

    這篇文章主要介紹了C++?string如何獲取文件路徑文件名、文件路徑、文件后綴(兩種方式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-06-06

最新評(píng)論