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

