最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用C語言編寫“剪刀石頭布”小游戲

 更新時間:2020年12月04日 11:11:36   作者:張某婷  
這篇文章主要給大家介紹了關(guān)于如何利用C語言編寫“剪刀石頭布”小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

大家好~

我是一名C語言初學(xué)者,學(xué)了C語言基礎(chǔ)后,我制作了一個小游戲:剪刀石頭布。

希望大家能對我的思路和代碼提出小Tips(eg.更簡便的方法與程序)

我也會虛心接受大家的建議~

一、游戲原理

“剪刀石頭布”這個游戲,想必大家都很熟悉了。

兩個人在玩游戲時,事先都不知道對方將要出什么,這中間存在著一種隨機性。

而這種隨機性相當(dāng)于C語言里stdlib.h庫中rand()函數(shù),rand()函數(shù)用來產(chǎn)生隨機數(shù),因為rand是根據(jù)提供給srand()的種子值返回一個隨機數(shù),所以要使每次隨機的結(jié)果不一樣,需要在srand()函數(shù)里引用time()函數(shù),因為每一次運行程序的時間是不同的,所以seed會不同,運行出來的結(jié)果也會不同。

補充:

rand()的內(nèi)部實現(xiàn)是用線性同余法實現(xiàn)的,是偽隨機數(shù),由于周期較長,因此在一定范圍內(nèi)可以看成是隨機的。

rand函數(shù)需要有srand()函數(shù)用來設(shè)置rand()產(chǎn)生隨機數(shù)時的隨機數(shù)種子。

參數(shù)seed是整數(shù),通??梢岳胻ime(0)或geypid(0)的返回值作為seed。

首先將游戲者(gamer)的選項輸入,并用switch分三種情況,將輸入的A、B、C(或a、b、c)轉(zhuǎn)換為整數(shù)(Gamer),然后用rand函數(shù)在1-3中隨機產(chǎn)生一個整數(shù)來代表計算機(computer)的選項,再將兩個整數(shù)相加,最后用switch來分類討論,輸出結(jié)果。

(因水平有限,我目前只能想到用這種方法來判斷勝負(fù),所以要避免兩種不同情況相加出的結(jié)果相同)

二、C語言代碼

1.引入函數(shù)

代碼如下:

#include "stdio.h"
#include "stdlib.h"
#include "time.h"

2.初始頁面顯示

代碼如下:

int main()
{
 char Gamer=0;
 int computer,gamer;
 int result;
 while (1) 
 {
  printf("這個小游戲是——剪刀石頭布,\n你要出:\n");
  printf("A:剪刀\nB:石頭\nC:布\n");
  scanf_s("%c", &Gamer);
  switch (Gamer) 
  {
  case 65 | 97: //A a
   gamer = 4; 
   break;
  case 66 | 98: //B b
   gamer = 7; 
   break;
  case 67 | 99: //C c
   gamer = 10; 
   break;
  
  default:
   printf("你的選擇為%c\n選擇錯誤,退出...\n", Gamer);
   system("pause");
   return 0;
   break;
  }

3.游戲過程及結(jié)果

  srand((unsigned)time(0));//每一次的seed都不同
  computer = rand() % 3+1;
  result = gamer + computer;
  printf("電腦出了:");
  switch (computer)
  {
  case 3:printf("剪刀\n"); break;
  case 1:printf("石頭\n"); break;
  case 2:printf("布\n"); break;
  }
  printf("你出了:");
  switch (gamer)
  {
  case 4:printf("剪刀\n"); break;
  case 7:printf("石頭\n"); break;
  case 10:printf("布\n"); break;
  }
  if (result == 6 || result == 10 || result == 11)
   printf("你贏了!");
  else if (result == 5 || result == 9 || result == 13) 
   printf("電腦贏了!");
  else 
   printf("平手");
  system("pause>nul&&cls"); //清屏
 }
 return 0;
}

總結(jié)

以上就是有關(guān)于游戲的思路和代碼,編寫程序前,我查閱了一些資料,并且詢問了他人,在這個過程中,我有學(xué)到許多新知識.

但是因為水平有限,程序代碼還是很繁瑣,方法也不是最好的,希望能通過進(jìn)一步的學(xué)習(xí),開拓自己的思路,用更快捷的方法編寫程序。

到此這篇關(guān)于利用C語言編寫“剪刀石頭布”小游戲的文章就介紹到這了,更多相關(guān)C語言寫剪刀石頭布游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言實現(xiàn)合式公式的判斷示例

    C語言實現(xiàn)合式公式的判斷示例

    這篇文章主要介紹了C語言實現(xiàn)合式公式的判斷示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • c++下迭代器總結(jié)

    c++下迭代器總結(jié)

    大家好,本篇文章主要講的是c++下迭代器總結(jié),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C++?OpenCV技術(shù)實戰(zhàn)之身份證離線識別

    C++?OpenCV技術(shù)實戰(zhàn)之身份證離線識別

    OpenCV身份證離線識別技術(shù)的主要技術(shù)就是通過OpenCV找到身份證號碼區(qū)域,然后通過OCR進(jìn)行數(shù)字識別該區(qū)域的截圖即可得到身份證號碼。感興趣的可以了解一下
    2021-12-12
  • C++中基本的輸入輸出函數(shù)使用指南

    C++中基本的輸入輸出函數(shù)使用指南

    這篇文章主要介紹了C++中基本的輸入輸出函數(shù)使用指南,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • VSCode無法打開源文件及無法打開鏈接庫文件的解決方法

    VSCode無法打開源文件及無法打開鏈接庫文件的解決方法

    本文主要介紹了VSCode無法打開源文件及無法打開鏈接庫文件的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C++實現(xiàn)動態(tài)順序表(vector)

    C++實現(xiàn)動態(tài)順序表(vector)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)動態(tài)順序表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • QT實現(xiàn)用戶登錄注冊

    QT實現(xiàn)用戶登錄注冊

    這篇文章主要為大家詳細(xì)介紹了QT實現(xiàn)用戶登錄注冊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++ 轉(zhuǎn)換函數(shù)用法案例詳解

    C++ 轉(zhuǎn)換函數(shù)用法案例詳解

    這篇文章主要介紹了C++ 轉(zhuǎn)換函數(shù)用法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • C語言?超詳細(xì)介紹與實現(xiàn)線性表中的無頭單向非循環(huán)鏈表

    C語言?超詳細(xì)介紹與實現(xiàn)線性表中的無頭單向非循環(huán)鏈表

    無頭單向非循環(huán)鏈表:結(jié)構(gòu)簡單,一般不會單獨用來存數(shù)據(jù)。實際中更多是作為其他數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),如哈希桶、圖的鄰接表等等。另外這種結(jié)構(gòu)在筆試面試中出現(xiàn)很多
    2022-03-03
  • C++實現(xiàn)LeetCode(95.獨一無二的二叉搜索樹之二)

    C++實現(xiàn)LeetCode(95.獨一無二的二叉搜索樹之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(95.獨一無二的二叉搜索樹之二),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評論

忻城县| 平山县| 黑河市| 平果县| 镇巴县| 太白县| 长葛市| 东至县| 吴江市| 怀远县| 阳西县| 洪江市| 三明市| 交城县| 类乌齐县| 维西| 石渠县| 云浮市| 额济纳旗| 福泉市| 玉山县| 黄山市| 迭部县| 汉川市| 太谷县| 靖西县| 旬邑县| 青河县| 南川市| 平顺县| 遂川县| 吉木萨尔县| 金阳县| 饶阳县| 明光市| 汪清县| 古丈县| 肥东县| 聂拉木县| 东海县| 克什克腾旗|