中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用C語言怎么實現一個猜拳小游戲

發布時間:2021-03-01 17:18:02 來源:億速云 閱讀:334 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關使用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語言怎么實現一個猜拳小游戲,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

若尔盖县| 虎林市| 金堂县| 永平县| 曲水县| 封开县| 夏邑县| 泾川县| 深州市| 广州市| 高雄市| 富阳市| 汉寿县| 惠水县| 融水| 河津市| 和林格尔县| 安徽省| 漳州市| 普宁市| 陆河县| 南澳县| 富锦市| 高雄市| 威远县| 德化县| 林西县| 稻城县| 思南县| 论坛| 来凤县| 枞阳县| 甘洛县| 永康市| 电白县| 屏东县| 永吉县| 台前县| 旬邑县| 高尔夫| 察雅县|