亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用C語言實現(xiàn)珠璣妙算Mastermind小游戲

 更新時間:2023年03月30日 11:10:49   作者:高星熠  
這篇文章主要介紹了使用C語言實現(xiàn)珠璣妙算Mastermind小游戲,這是一款益智類多人游戲游戲,非常有趣,需要的朋友可以參考下

引言

最近玩到過一款十分好玩的益智類桌游——珠璣妙算-Mastermind,這款游戲也出現(xiàn)在熱片《拆彈專家2》里,該款游戲就是有四個槽位,而要將6種顏色依次放入槽位之中,然后由出題人反饋正確位置及錯誤位置正確顏色數(shù),再通過邏輯推理,推出正確的顏色及位置。因為這種游戲為多人游戲,一個人不能自己出題、判斷及推理,我在手機(jī)上搜找相關(guān)游戲卻沒有找到相應(yīng)游戲,于是,萌生自主編寫的想法。

在這里插入圖片描述

( Mastermind(珠璣妙算)是一種可供兩名玩家使用的密碼破譯棋盤游戲。在1970年由Mordecai Meirowitz發(fā)明,他是一位以色列郵政和電信專家。 但游戲類似早期一種利用鉛筆和紙進(jìn)行的游戲,游戲名為“公牛和母牛”,可能追溯到一個世紀(jì)或更長時間。)

代碼

這里其實原理與代碼十分簡單,是通過幾個條件進(jìn)行的邏輯判定。

#include<stdio.h>
#include <stdlib.h>
#include<time.h>
 main()
{
 int a,b,c,d,x,y,z,w,flag1=0,i=0,j=0,l=0,m=0;
 srand(time(NULL));//用機(jī)器時間設(shè)置隨機(jī)種子
 x=rand()%6+1;//生成6個隨機(jī)數(shù)字 
 do
 {y=rand()%6+1;}
 while(y==x);
 do
 {z=rand()%6+1;}
 while(z==x || z==y);
 do
 {w=rand()%6+1;}
 while(w==z || w==x || w==y);//設(shè)置的6個隨機(jī)數(shù)互不相同 
 while(flag1==0)
 {
  printf("請依次輸入4個數(shù)字(1-6中),謝謝,這是第 %d 次嘗試\n-\n ",m+1);
  scanf("%d %d %d %d",&a,&b,&c,&d);
  if(a==x)
  i++;
  if(b==y)
  i++;
  if(c==z)
  i++;
  if(d==w)
  i++;     //確定正確位置個數(shù) 
     if(a!=x && (x==b || x==c || x==d))
     j++;
     if(b!=y && (y==a || y==c || y==d))
     j++;
     if(c!=z && (z==a || z==b || z==d))
     j++;
     if(d!=w && (w==a || w==b || w==c))
     j++;     //確定錯誤位置、正確數(shù)值個數(shù) 
     printf("\n正確位置及數(shù)值有 %d 個,正確數(shù)值錯誤位置有 %d 個\n",i,j);
     if(i==4)//完全推出情況返回答案,反饋推理次數(shù),跳出循環(huán) 
     {
      m++;
   printf("\n恭喜你答對了,你用了 %d 次,答案是: %d %d %d %d\n",m,x,y,z,w);
   flag1++;
  }
     m++;//次數(shù)加一 
     i=0;
     j=0;//判斷正確位置個數(shù)及確定錯誤位置、正確數(shù)值個數(shù)清零 
 }
}

運(yùn)行嘗試

在這里插入圖片描述

結(jié)語

用C語言實現(xiàn)了該款游戲后,這款游戲還是十分的簡陋,此后我會繼續(xù)優(yōu)化該款游戲圖形化界面等方面。

到此這篇關(guān)于使用C語言實現(xiàn)珠璣妙算Mastermind小游戲的文章就介紹到這了,更多相關(guān)C語言Mastermind小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)獲取指定代碼段的cpu占用

    C++實現(xiàn)獲取指定代碼段的cpu占用

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)獲取指定代碼段的cpu占用的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2023-12-12
  • 使用C語言編寫一個強(qiáng)制關(guān)機(jī)程序

    使用C語言編寫一個強(qiáng)制關(guān)機(jī)程序

    這篇文章主要為大家詳細(xì)介紹了如何使用C語言實現(xiàn)一個簡單的"流氓軟件",一個可以強(qiáng)制關(guān)機(jī)惡作劇關(guān)機(jī)程序,輸入指定指令才可以解除,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-11-11
  • C語言中的字符型數(shù)據(jù)與ASCII碼表

    C語言中的字符型數(shù)據(jù)與ASCII碼表

    這篇文章主要介紹了C語言中的字符型數(shù)據(jù)與ASCII碼表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 關(guān)于STL的erase()陷阱-迭代器失效問題的總結(jié)

    關(guān)于STL的erase()陷阱-迭代器失效問題的總結(jié)

    下面小編就為大家?guī)硪黄P(guān)于STL的erase()陷阱-迭代器失效問題的總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 解析C++中虛析構(gòu)函數(shù)的作用

    解析C++中虛析構(gòu)函數(shù)的作用

    本篇文章是對C++中虛析構(gòu)函數(shù)的作用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ String部分成員模擬實現(xiàn)流程詳解

    C++ String部分成員模擬實現(xiàn)流程詳解

    我們先不直接實現(xiàn)完整版的string,先實現(xiàn)簡易版的string部分成員來基本了解下它的框架,以及以后來學(xué)習(xí)深淺拷貝的問題。這樣有循序漸進(jìn)的過程嘛
    2022-08-08
  • 淺析成員函數(shù)和常成員函數(shù)的調(diào)用

    淺析成員函數(shù)和常成員函數(shù)的調(diào)用

    下面小編就為大家?guī)硪黄獪\析成員函數(shù)和常成員函數(shù)的調(diào)用。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05
  • C++可執(zhí)行文件絕對路徑值與VS安全檢查詳解

    C++可執(zhí)行文件絕對路徑值與VS安全檢查詳解

    這篇文章主要給大家介紹了關(guān)于C++可執(zhí)行文件絕對路徑值與VS安全檢查的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-01-01
  • C語言多種方法實現(xiàn)一個函數(shù)左旋字符串中K個字符

    C語言多種方法實現(xiàn)一個函數(shù)左旋字符串中K個字符

    這篇文章主要為大家介紹了C語言多種方法實現(xiàn)一個函數(shù),可以左旋字符串中K個字符,文中附含詳細(xì)的示例講解,有需要的朋友可以借鑒參考下
    2021-10-10
  • Qt使用QJson模塊實現(xiàn)解析Json文件

    Qt使用QJson模塊實現(xiàn)解析Json文件

    在項目開發(fā)過程中,經(jīng)常會遇到讀寫Json文件的需求,掌握J(rèn)son文件的操作是基礎(chǔ)中的基礎(chǔ),下面我們就來看看如何使用QT內(nèi)置的QJson模塊解析Json文件吧
    2023-10-10

最新評論