C語言實(shí)現(xiàn)與電腦玩剪刀石頭布游戲
C語言實(shí)現(xiàn)與電腦進(jìn)行剪刀石頭布
游戲解析:
1.導(dǎo)入頭文件
2.游戲菜單
3.開始游戲并對電腦輸入數(shù)據(jù)
4.為電腦隨機(jī)生成一個(gè)數(shù)據(jù)
5.判斷輸贏并輸出結(jié)果
1.導(dǎo)入頭文件
#include<stdio.h> #include<stdlib.h> #include<time.h>
2.游戲菜單
void menu()//游戲菜單 { printf(" 1.play \n"); printf(" 0.exit \n"); } int main() { int a; srand((unsigned int)time(NULL));//隨機(jī)種子,讓電腦可以隨機(jī)生成一個(gè)值 do { menu(); scanf("%d", &a); switch (a) { case 1: game(); case 0: break; default: printf("輸入錯(cuò)誤,請重新輸入。\n"); } } while (a); return 0; }
利用do while循環(huán)語句,在游戲結(jié)束時(shí)可以再次選擇是否繼續(xù)。switch語句選擇游戲的開始與否
3.開始游戲并對電腦輸入數(shù)據(jù)
游戲次數(shù)次數(shù)過的時(shí)候,屏幕上內(nèi)容過多,所以在每次游戲開始的時(shí)候做一個(gè)清屏處理
void game()//游戲模塊 { system("cls");//做了一個(gè)清屏處理,每次開始新游戲時(shí),清除上一次游戲記錄。 int b, c; printf("游戲:剪刀石頭布\n"); printf("請選擇你要出的手勢>:\n"); printf("1.石頭 2.剪刀 3.布\n"); scanf("%d", &c); b = rand() % 3 + 1;//產(chǎn)生1、2、3之間的一個(gè)隨機(jī)值 //printf("%d\n", b);//調(diào)試過程中以確保b的值對應(yīng)且隨機(jī)
4.判斷輸贏并輸出結(jié)果
選用if分支語句對根據(jù)不同的情況來輸出結(jié)果
if (c == b)//開始判斷輸贏 printf("電腦和你出了一樣的手勢,本局平局。\n"); else if ((b - c + 3) % 3 == 1) { if (b == 1) printf("你贏了,電腦出了石頭。\n"); else if (b == 2) printf("你贏了,電腦處了剪刀。\n"); else printf("你贏了,電腦出了布。\n"); } else { if (b == 1) printf("你輸了,電腦出了石頭。\n"); else if (b == 2) printf("你輸了,電腦處了剪刀。\n"); else printf("你輸了,電腦出了布。\n"); }
5.全代碼
#include<stdio.h> #include<stdlib.h> #include<time.h> void menu()//游戲菜單 { printf(" 1.play \n"); printf(" 0.exit \n"); } void game()//游戲模塊 { system("cls");//做了一個(gè)清屏處理,每次開始新游戲時(shí),清除上一次游戲記錄。 int b, c; printf("游戲:剪刀石頭布\n"); printf("請選擇你要出的手勢>:\n"); printf("1.石頭 2.剪刀 3.布\n"); scanf("%d", &c); b = rand() % 3 + 1;//產(chǎn)生1、2、3之間的一個(gè)隨機(jī)值 //printf("%d\n", b);//調(diào)試過程中以確保b的值對應(yīng)且隨機(jī) if (c == b)//開始判斷輸贏 printf("電腦和你出了一樣的手勢,本局平局。\n"); else if ((b - c + 3) % 3 == 1) { if (b == 1) printf("你贏了,電腦出了石頭。\n"); else if (b == 2) printf("你贏了,電腦處了剪刀。\n"); else printf("你贏了,電腦出了布。\n"); } else { if (b == 1) printf("你輸了,電腦出了石頭。\n"); else if (b == 2) printf("你輸了,電腦處了剪刀。\n"); else printf("你輸了,電腦出了布。\n"); } } int main() { int a; srand((unsigned int)time(NULL));//隨機(jī)種子,讓電腦可以隨機(jī)生成一個(gè)值 do { menu(); scanf("%d", &a); switch (a) { case 1: game(); case 0: break; default: printf("輸入錯(cuò)誤,請重新輸入。\n"); } } while (a); return 0; }
到這簡單的一個(gè)石頭剪刀布,就完成了。歡迎各位大佬來點(diǎn)評點(diǎn)評!這對還處于小白的我,幫助是非常大的。
到此這篇關(guān)于C語言實(shí)現(xiàn)與電腦玩剪刀石頭布游戲的文章就介紹到這了,更多相關(guān)C語言剪刀石頭布游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解C++的JSON靜態(tài)鏈接庫JsonCpp的使用方法
這篇文章主要介紹了C++的JSON靜態(tài)鏈接庫JsonCpp的使用方法,演示了使用JsonCpp生成和解析JSON的方法,以及C++通過JSON方式的socket通信示例,需要的朋友可以參考下2016-03-03C語言實(shí)現(xiàn)打印楊輝三角的方法詳細(xì)(三種方法)
楊輝三角是中國古代數(shù)學(xué)的杰出研究成果之一,它把二項(xiàng)式系數(shù)圖形化,把組合數(shù)內(nèi)在的一些代數(shù)性質(zhì)直觀地從圖形中體現(xiàn)出來,是一種離散型的數(shù)與形的結(jié)合。本文將介紹三種可以實(shí)現(xiàn)打印楊輝三角的辦法,感興趣的可以試一試2022-01-01C語言中qsort函數(shù)用法及用冒泡排序?qū)崿F(xiàn)
qsort函數(shù)是由C語言提供的標(biāo)準(zhǔn)庫函數(shù), 它的實(shí)現(xiàn)思想是快速排序。這篇文章主要介紹了C語言中qsort函數(shù)用法及用冒泡排序?qū)崿F(xiàn)qsort函數(shù)功能,需要的可以參考一下2022-10-10C++構(gòu)造函數(shù)初始化列表的實(shí)現(xiàn)詳解
構(gòu)造函數(shù)主要作用在于創(chuàng)建對象時(shí)為對象的成員屬性賦值,構(gòu)造函數(shù)由編譯器自動調(diào)用,無須手動調(diào)用;析構(gòu)函數(shù)主要作用在于對象銷毀前系統(tǒng)自動調(diào)用,執(zhí)行一 些清理工作2022-09-09