您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么使用C語言實(shí)現(xiàn)珠璣妙算Mastermind小游戲”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么使用C語言實(shí)現(xiàn)珠璣妙算Mastermind小游戲”吧!
這里其實(shí)原理與代碼十分簡單,是通過幾個(gè)條件進(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í)間設(shè)置隨機(jī)種子 x=rand()%6+1;//生成6個(gè)隨機(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個(gè)隨機(jī)數(shù)互不相同 while(flag1==0) { printf("請(qǐng)依次輸入4個(gè)數(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++; //確定正確位置個(gè)數(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++; //確定錯(cuò)誤位置、正確數(shù)值個(gè)數(shù) printf("\n正確位置及數(shù)值有 %d 個(gè),正確數(shù)值錯(cuò)誤位置有 %d 個(gè)\n",i,j); if(i==4)//完全推出情況返回答案,反饋推理次數(shù),跳出循環(huán) { m++; printf("\n恭喜你答對(duì)了,你用了 %d 次,答案是: %d %d %d %d\n",m,x,y,z,w); flag1++; } m++;//次數(shù)加一 i=0; j=0;//判斷正確位置個(gè)數(shù)及確定錯(cuò)誤位置、正確數(shù)值個(gè)數(shù)清零 } }
感謝各位的閱讀,以上就是“怎么使用C語言實(shí)現(xiàn)珠璣妙算Mastermind小游戲”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)怎么使用C語言實(shí)現(xiàn)珠璣妙算Mastermind小游戲這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。