您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關使用C語言怎么實現一個猜拳小游戲,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
具體內容如下
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<Windows.h> int pcinput; //電腦輸入 int userinput; //用戶輸入 #define echo ">_ " //俺覺得好看 char case_win(int left, int right);//判斷哪邊贏了;left是玩家,right是電腦 int echoinput(int inputnum);//根據兩個全局變量輸出對應進行的操作 int main() { printf("規則\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等待電腦結果.\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("三秒后繼續..."); Sleep(1000); printf("二秒后繼續..."); Sleep(1000); printf("一秒后繼續..."); Sleep(1000); system("cls"); main(); } return 0; } char case_win(int left, int right) { char reslut; /* *聲明 *石頭->1 *剪刀->2 * _布->3 */ /* * 規則: * 石頭->剪刀 * 剪刀->布 * 布->石頭 */ /*判斷,左邊是玩家*/ 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; //用戶輸入
函數定義
char case_win(int left, int right);//判斷哪邊贏了;left是玩家,right是電腦 int echoinput(int inputnum);//根據兩個全局變量輸出對應進行的操作
打印 規則和輸入提示
printf("規則\n\n"); puts("1.石頭\n"); puts("2.剪刀\n"); puts("3.布 \n"); printf("%s你的輸入:", echo); scanf_s("%d", &userinput); printf("\n");
Main方法中的主要邏輯
int main() { printf("規則\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等待電腦結果.\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("三秒后繼續..."); Sleep(1000); printf("二秒后繼續..."); Sleep(1000); printf("一秒后繼續..."); Sleep(1000); system("cls"); main(); } return 0; }
函數實現-判斷輸入
當參數inputnum為1,2,3時,進行對應的打印操作,如果有誤在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; }
邏輯函數-判斷輸贏
char case_win(int left, int right) { char reslut; /* *聲明 *石頭->1 *剪刀->2 * _布->3 */ /* * 規則: * 石頭->剪刀 * 剪刀->布 * 布->石頭 */ /*判斷,左邊是玩家*/ 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; }
實現邏輯函數的返回值
/* 當返回值reslut為'L'時,玩家勝利 當返回值reslut為'R'時,電腦勝利 否則雙方平局 */
以上就是使用C語言怎么實現一個猜拳小游戲,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。