狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

C++ Builder構建算24點小游戲

C++ Builder構建算24點小游戲

更新時間:2019-10-08 文章作者:未知 信息來源:網絡 閱讀次數:

  所謂算二十四點可能是不少讀者朋友童年喜歡玩的撲克游戲之一,玩法是:把一副撲克牌從A到10選出來均分成兩份,兩個小朋友各持一份即可開始游戲,每人隨機抽兩張出來組成四張牌,把這四張牌加減乘除湊成結果為二十四,先算出來的一方贏得對方的兩張牌,進行下一輪,如果都沒計算出來為和局,直到把對方所有的撲克牌全部繳獲,游戲方告結束。

  想要自己算的最快嗎?那最好是讓程序來替你做個二十四點王。

  用程序實現二十四點的算法很多,但大都比較繁雜。考慮到湊出結果的可能情況并不是太多,在這里我們將主要靠自己窮舉可能的演算式外加循環計算來實現。

  一、四張牌的排列組合

  四張牌A B C D共有多少種排列組合?公式為P44,即1×2×3×4=24共24種組合。

  為什么要把四張牌的所有排列組合都羅列出來呢?因為我們將要采用的算法簡單說就是:窮舉所有算術式,比如A+B+C+D、A+B+C-D等等,讓每一個算術式的四個變量都去排列組合一次,尋找是否存在一個排列組合使算術式的值為24。舉個例子A+B+C-D:

  把四張牌(四個變量)放入表2的(Pos.1、Pos.2、Pos.3、Pos.4)四個位置中去,總共應該有24種放置方法。

  如果在表3內找到一個公式使A+B+C-D的值等于24,則打印出此算術式,否則說明此算術式不滿足需要,再進行下一個算術式的變量的排列組合。如果窮舉所有的算術式都不能滿足要求,那么表示此題無解。

  一、窮舉所有算術式

  這個工作比較煩瑣,但很考驗你的邏輯演算能力。筆者按加、減、乘、除、括號的順序基本羅列完了所有算術式,表4—表6只羅列了一部分,剩下的讀者可以自己來完成:

  二、制作游戲

  有了前面的基礎后,開始編程。筆者在這里使用的是Borland C++ Builder,下面簡單介紹一下制作流程并講解其中的難點:

  1.動手設計一個人性化的界面。

  2.程序編制流程:

  不管是手動輸入四個數還是隨機產生,都把這四個數值存儲起來,然后進行求解。求解時遵循這樣的規律:這里共有45種算術式(包括無解),從第一個算術式開始不斷調用排列組合,如果成立(結果為24),退出求解過程并輸出結果,不成立則嘗試下一個算術式,直到最后一個算術式的調用,如果都不滿足則打印無解。

  3.隨機產生數字:

  產生四個數,一種方式是手動錄入,一種方式是隨機產生,這里只給出隨機產生數字的代碼:(程序里的變量沒作說明均為全局變量)

void __fastcall TForm1::Button2Click(TObject *Sender)
{
flag=false;
randomize();
NumberA=random(10)+1;
NumberB=random(10)+1;
NumberC=random(10)+1;
NumberD=random(10)+1;
Edit1->Text=FloatToStr(NumberA);
Edit2->Text=FloatToStr(NumberB);
Edit3->Text=FloatToStr(NumberC);
Edit4->Text=FloatToStr(NumberD);
Button4->SetFocus();
}

  4.求解過程:

////////////求解
for(j=1;j<=45;j++)
{
switch(j)
{
///////////////
case 2://對應表4的第二種情況
for(i=1;i<=24;i++)//注意case1只循環1次,因為四個變量求和不必考慮變量的位置
{
kind(i);//調用子函數
answer=A+B+C-D;
if(answer==24)
{
flag=true; //設置標志
result=FloatToStr(A)+"+"+FloatToStr(B)+"+"+FloatToStr(C)+"-"+FloatToStr(D)+"=24";
Label1->Caption=result;
Label1->Visible =true;
break;
}
}
if(flag==true)break;//退出switch
……………………//余下的求解算術式的方法與case2相似,這里就不重復了。
case 45:
flag=true;
result="無解";
Label1->Caption=result;
Label1->Visible =true;
break;
if(flag==true)break;
//////////////////////
/////////////////////
}
if(flag==true)//退出循環
break;
}

  子函數:

int kind(int k)
{
switch(k)//排列組合4個數,對應表1
{
case 1:A=NumberA;B=NumberB;C=NumberC;D=NumberD;break;
case 2:A=NumberA;B=NumberB;D=NumberC;C=NumberD;break;
case 3:A=NumberA;C=NumberB;B=NumberC;D=NumberD;break;
case 4:A=NumberA;D=NumberB;B=NumberC;C=NumberD;break;
……
case 22:D=NumberA;B=NumberB;A=NumberC;C=NumberD;break;
case 23:D=NumberA;B=NumberB;C=NumberC;A=NumberD;break;
default:D=NumberA;C=NumberB;B=NumberC;A=NumberD;
}
}

  小結:

  值得注意的是在羅列算術式時既要避免重復,如A+B×C+D與A×B+C+D是一致的,需要丟棄一個,又要列舉全面,還要考慮到排除掉不可能實現的算術式,此程序的算法不難理解,關鍵在于算術式的準確。理清楚了算法,編程是很快的。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
2024国产精品| 亚洲色图欧美在线| 国产日韩欧美电影| 中文字幕佐山爱一区二区免费| 亚洲精品福利视频网站| 蜜桃一区二区三区在线| 国产精品乱码久久久久久| 亚洲免费观看高清完整版在线观看 | 欧美日本国产精品| 榴莲视频成人在线观看| 欧美一区二区精品在线| 亚洲日本一区二区三区| 毛片不卡一区二区| 99九九99九九九视频精品| 噜噜噜躁狠狠躁狠狠精品视频| 色综合久久久久综合体桃花网| 国产欧美精品| 日韩欧美国产综合一区| 亚洲欧美日韩国产手机在线| 国产精品免费在线| 91精品国产91综合久久蜜臀| 亚洲黄色录像片| 91日韩一区二区三区| 欧美日韩免费电影| 玉足女爽爽91| 欧美精品首页| 欧美国产1区2区| 国产精品亚洲专一区二区三区| 性xx色xx综合久久久xx| 亚洲欧洲成人av每日更新| 91丨porny丨首页| 欧美一级一区二区| 美女看a上一区| 蘑菇福利视频一区播放| 日韩美女啊v在线免费观看| 欧美 日韩 国产 一区| 欧美精品久久一区| 国产一区二区中文字幕| 日本久久电影网| 日韩va欧美va亚洲va久久| 亚洲在线国产日韩欧美| 亚洲一区二区三区四区在线免费观看 | 日日夜夜免费精品| 久久综合久久久| 三级影片在线观看欧美日韩一区二区| 亚洲欧洲一区二区天堂久久| 亚洲欧洲av色图| 日韩午夜高潮| 亚洲线精品一区二区三区| 国产手机视频一区二区| 午夜伊人狠狠久久| 色成年激情久久综合| 狠狠色综合播放一区二区| 在线精品观看国产| 国精产品一区一区三区mba桃花 | 久久精品国产秦先生| 日韩欧美在线网站| 午夜精品av| 亚洲女人的天堂| 欧美精品v日韩精品v韩国精品v| 国产精品超碰97尤物18| 一本久久精品一区二区| 国产精品一品二品| 中文字幕日韩av资源站| 色婷婷激情久久| aaa亚洲精品| 五月激情综合色| 久久久久久久综合色一本| 一本色道久久99精品综合| 久草热8精品视频在线观看| 国产亚洲欧美日韩在线一区| 久久久久久久波多野高潮日日| 国产成人av在线影院| 中文字幕一区av| 欧美激情综合在线| 亚洲精品看片| 日本成人在线电影网| 中文字幕一区二区三区在线观看| 欧美精品99久久久**| 亚洲国产精品视频一区| 国产麻豆精品95视频| 亚洲成av人片在线观看| 国产精品久久久久7777按摩| 欧美一级欧美三级在线观看 | 91精品久久久久久久久99蜜臂| 麻豆av福利av久久av| 永久域名在线精品| 欧美一区免费| 97久久超碰精品国产| 狠狠色丁香久久婷婷综合丁香| 五月天一区二区三区| 亚洲综合网站在线观看| 亚洲六月丁香色婷婷综合久久| 国产精品久久三区| 中文字幕免费观看一区| 日本一区二区三区电影| 国产精品久久久久永久免费观看| 国产乱色国产精品免费视频| 久久99精品久久久久久国产越南 | 亚洲精品一区二区三区99| 日韩免费高清电影| 欧美一区二区精品久久911| 婷婷成人综合网| 国产一区二区精品久久99| 激情综合色播激情啊| 国产精品资源网站| 99久久国产综合精品女不卡| 亚洲欧美综合| 亚洲黄色精品| 欧洲激情一区二区| 精品裸体舞一区二区三区| 国产日韩欧美不卡在线| 亚洲一区二区三区四区的| 激情文学综合网| 欧美在线免费| 一本到不卡免费一区二区| 国产精品系列在线| 亚洲在线免费播放| 久久精品国产99久久6| 午夜精品久久| 在线视频国产一区| 国产目拍亚洲精品99久久精品| 夜夜爽夜夜爽精品视频| 国产一区二区三区| 国产精品免费一区二区三区在线观看| 欧美日本乱大交xxxxx| 亚洲美女区一区| av不卡免费电影| 欧美视频你懂的| 亚洲制服欧美中文字幕中文字幕| 成人激情午夜影院| 精品视频全国免费看| 亚洲一区二区三区小说| 国产精品国产精品| 欧美成人a视频| 国产一区二区三区四区五区美女| 国产精品日本| 亚洲免费资源在线播放| 成人av网站在线观看免费| 欧美性猛交xxxxxxxx| 亚洲一区二区三区国产| 一区二区亚洲| 亚洲欧美在线观看| 亚洲福利国产| 亚洲最新视频在线播放| 亚洲国产精品一区| 亚洲私人黄色宅男| 极品av少妇一区二区| 久久久www成人免费无遮挡大片| 成人国产精品免费观看| 欧美电影免费观看高清完整版在 | 一区在线电影| 亚洲国产精品久久久久秋霞影院| 激情自拍一区| 亚洲一区二区在线观看视频| 一区二区三区高清视频在线观看| 自拍偷拍亚洲综合| 性欧美精品高清| 韩国成人在线视频| 久久蜜桃av一区精品变态类天堂| 欧美成熟视频| 亚洲午夜在线电影| 老司机精品福利视频| 久久国产精品区| 久久影院视频免费| 国产精品啊啊啊| 亚洲大片精品永久免费| 国产夜色精品一区二区av| 99精品视频在线免费观看| 国产精品国产自产拍高清av| 国产精品色网| 国产精品一区二区91| 国产欧美一区视频| 翔田千里一区二区| 国产精品香蕉一区二区三区| 久久嫩草精品久久久久| 美女诱惑一区| 国产成人精品免费网站| 国产精品国产三级国产普通话99| 一区二区三区福利| 九九热在线视频观看这里只有精品| 欧美挠脚心视频网站| 91色视频在线| 国产在线精品一区二区三区不卡| 国产蜜臀av在线一区二区三区| 日本韩国精品一区二区在线观看| 91丨porny丨最新| 久草在线在线精品观看| 亚洲精品成人在线| 久久精品免费在线观看| 欧美日韩一级大片网址| 99热免费精品| 欧美欧美天天天天操| 国产精品一区二区三区99| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 91精品福利在线| 亚洲一区高清| 亚洲电影av| 在线观看不卡| 99国产精品久久久久|