C語言 紙牌計算24點小遊戲

2022-07-20 20:57:21 字數 2784 閱讀 7559

c語言實現紙牌計算24點小遊戲

利用系統時間設定隨機種子生成4個隨機數,並對4個數字之間的運算次序以及運算符號進行列舉,從而計算判斷是否能得出24,以達到程式目的。程式主要功能已完成,目前還有部分細節未處理,待完成ing...對於**中的錯誤,懇請批評指正。

遊戲描述:

a-10:分別代表數字 1-10。

j,q,k:均代表數字1。

考慮到部分地方的規則,j,q,k 也可以當成10 ,或者直接代表本身所代表的數字,即11、12、13來運算。

使用加減乘除,能得出24者為贏,存在無解情況。

遊戲開始得分為1000分,每一秒鐘減少1分,當答對一次時,分數增加100分。(暫未實現)

**如下:

1/*2

*3* project : 計算24 4*

5* author : 鬼狐_ambrose6*

7* date : 2023年3月25日10:55:47 8*

9* remark :紙牌中的10以0代替,減法得數均為正數

10*/

11 #include 12 #include 13 #include 14

15char getpokercard(int

value)

1621

else

if(value<10)22

25else

if(value==10)26

29else

if(value==11)30

33else

if(value==12)34

37else

if(value==13)38

41}4243

void printanswer(int flag,int *poker,char *oper,char *answer)

4475

76//

儲存answer

7778

79return

; 80}81

82double getvalue(double num1,double num2,char

oper)

83103

104return

result;

105}

106107

int getresult(int *poker,char *oper,char *answer)

108128

129//

2.(a*(b*c))*d

130 t=0

;131 t=getvalue(b,c,oper[1

]);132 t=getvalue(a,t,oper[0

]);133 t=getvalue(t,d,oper[2

]);134

135if(fabs(t-24)<0.0001

)136

140141

//3.(a*b)*(c*d)

142 t=0

;143 t=getvalue(getvalue(a,b,oper[0]),getvalue(c,d,oper[2]),oper[1

]);144

145if(fabs(t-24)<0.0001

)146

150151

152 t=0

;153 t=getvalue(c,d,oper[2

]);154 t=getvalue(b,t,oper[1

]);155 t=getvalue(a,t,oper[0

]);156

157if(fabs(t-24)<0.0001

)158

162163

164 t=0

;165 t=getvalue(b,c,oper[1

]);166 t=getvalue(t,d,oper[2

]);167 t=getvalue(a,t,oper[0

]);168

169if(fabs(t-24)<0.0001

)170

174175

return0;

176}

177178

void printresult(int *poker,char *answer)

179;

181char oper[3

];182

inti,j,k;

183int count=0

;184

185for(i=0;i<4;i++)

186for(j=0;j<4;j++)

187for(k=0;k<4;k++)

188196

if(count)

197200

else

201204

205return

;206

}207

208void printpoker(int *poker)

209215 printf("\n"

);216

217return

;218

}219

220void getrandompokers(int *poker)

221230

231return

;

232}

233234

main()

235262

while(c=='\n'

);263

264return0;

265 }

C語言實現紙牌24點小遊戲

此程式參考c語言實現經典24點紙牌益智遊戲,並做出一些改進。一 題目要求 24點遊戲規則 從撲克中每次取出4張牌。使用加減乘除,第乙個能得出24者為贏。其中,j代表11,q代表12,k代表13,a代表1 按照要求程式設計解決24點遊戲。基本要求 隨機生成4個代表撲克牌牌面的數字字母,程式自動列出所有...

24點小遊戲(c語言)

24點遊戲,輸入四個數字,分別進行加減乘除四則運算結果為 24的輸出成立表示式。include include 本函式用於判斷符號的種類 char operator signaltype int signal i 對兩個數進行算術運算 double operation double a,double...

24點紙牌遊戲

有一種遊戲叫做24點,首先是拿一副牌,每次抽出4張,然後利用 四種運算,每張牌只能用一次,而且像10 3這種有餘數的運算不能算,結果能算出24點嗎?說明 j到k都是算10點,不論花色的 由於無聊,所以在火車上想起了這種遊戲,當我們想不出來時,能不能寫個程式來解決呢?這是當時決定寫這個程式的原因。演算...