六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

VB小游戲:猜英雄

[摘要]相信不少讀者都看過央視的《水滸》吧,林沖、武松、李逵等英雄好漢的音容笑貌仿佛還浮現(xiàn)在我的眼前,那么108將中你最喜歡誰呢?我做了一個(gè)小程序來讓電腦猜測(cè)你的心思,程序界面如圖所示。  為了簡(jiǎn)化問題,我選擇了其中的27將,將他們分成3組,每組9人。如果你最喜歡其中的一個(gè)(比如史進(jìn)),他在第一組出現(xiàn)了,...

  相信不少讀者都看過央視的《水滸》吧,林沖、武松、李逵等英雄好漢的音容笑貌仿佛還浮現(xiàn)在我的眼前,那么108將中你最喜歡誰呢?我做了一個(gè)小程序來讓電腦猜測(cè)你的心思,程序界面如圖所示。



  為了簡(jiǎn)化問題,我選擇了其中的27將,將他們分成3組,每組9人。如果你最喜歡其中的一個(gè)(比如史進(jìn)),他在第一組出現(xiàn)了,那么就按下按鈕“第一組”。然后這27將會(huì)重新排列順序,你再找史進(jìn)在哪一組,比如發(fā)現(xiàn)他在第二組,就按下按鈕“第二組”,畫面中的人物次序會(huì)再次打亂,再找史進(jìn)所在組別……最多3次,電腦將會(huì)猜出你心中的英雄!

  知道了玩法,下面我將介紹程序是如何實(shí)現(xiàn)的:

  一、猜測(cè)的奧妙——推算原理

  猜測(cè)的原理其實(shí)也不復(fù)雜,我們來模擬一下猜測(cè)的過程大家就清楚了。程序初始化時(shí)是把1~27將隨機(jī)打亂分別放入PageControl控件的三個(gè)選項(xiàng)卡中,每個(gè)選項(xiàng)卡放9張圖片。點(diǎn)擊一次按鈕后其實(shí)不是盲目地將順序打亂,而是進(jìn)行了篩選,把有用的圖片(就是點(diǎn)選的那組的9張圖片)篩選出來平均分配到PageControl控件的三個(gè)選項(xiàng)卡中,再把不需要的圖片集中起來平均分配到PageControl控件的三個(gè)選項(xiàng)卡中,最后在各個(gè)選項(xiàng)卡中把有用的、無用的圖片隨機(jī)打亂再次重新排列顯示出來,從而完成猜測(cè)。用表1來說明:

點(diǎn)擊按鈕的次數(shù)選項(xiàng)卡1選項(xiàng)卡2 選項(xiàng)卡3
1 3 33
2111
3000

  具體講,當(dāng)?shù)谝淮伟聪掳粹o時(shí),表示你相中的圖片在其中一個(gè)選項(xiàng)卡的9張圖片內(nèi)。于是把這9張圖片均分成3份,每份3張,分別送入3個(gè)選項(xiàng)卡,其余的圖片就不做考慮了。當(dāng)?shù)诙伟聪掳粹o時(shí),表示你相中的圖片在其中一個(gè)選項(xiàng)卡的3張圖片內(nèi),于是把這3張圖片均分成3份,每份1張,分別送入3個(gè)選項(xiàng)卡,當(dāng)?shù)谌伟聪掳粹o時(shí),表示你相中的圖片在其中一個(gè)選項(xiàng)卡的1張圖片內(nèi),毫無疑問,這張圖片就是你相中的圖片,于是程序把這張圖片顯示出來。

  打亂重排的算法

  在程序中的很多地方要涉及打亂順序重排的問題,下面我們就來先簡(jiǎn)單介紹一下打亂是如何實(shí)現(xiàn)的。

  這里要實(shí)現(xiàn)的方法是比較簡(jiǎn)單的,也就是多次把數(shù)組的不同位置的值互換,就像讀小學(xué)時(shí)老師讓兩個(gè)同學(xué)互換位置一樣,老師不斷隨機(jī)抽兩個(gè)同學(xué)互換位置,最后同學(xué)們的座位就都重新排了一遍。

  舉個(gè)例子:

int i,temp1,temp2,a[2],b[27]
for(i=1;i<=27;i++)//先對(duì)數(shù)組賦初值
b[i]=i;
randomize();
for(i=1;i<=500;i++)//i的大小決定打亂的程度,循環(huán)次數(shù)越多,打亂程度越高
{
temp1=random(27)+1;
temp2=random(27)+1;
a[1]=b[temp1];
b[temp1]=b[temp[2];
b[temp2]=a[1];
}
//輸出
ListBox1->Clear();
for(i=1;i<=27;i++)
ListBox1->Items->Add(IntToStr(b[i]));

  如上例所示,經(jīng)過打亂,b[27]數(shù)組將不再是舊時(shí)容顏。

  二、實(shí)現(xiàn)的關(guān)鍵——篩選算法的介紹

  在整個(gè)實(shí)現(xiàn)的過程中,如何在每一次打亂后對(duì)人物進(jìn)行篩選是程序的關(guān)鍵所在,處理不好,程序就不會(huì)有結(jié)果。而且篩選很容易把你攪得頭暈?zāi)X脹,所以涉及的各個(gè)數(shù)組之間的關(guān)系一定要先理順,先用一個(gè)例子來解釋如何進(jìn)行篩選。以點(diǎn)擊按鈕的次數(shù)是第一次并且點(diǎn)擊的按鈕是Button1為例加以介紹,其思路如下:

  初始:

  第一次執(zhí)行按鈕事件并且按下的是Button1時(shí)(表a的數(shù)組就是關(guān)鍵數(shù)組):

  把表a打亂后平均拆分為3組分別送入內(nèi)存緩沖區(qū)

  把表b和表c打亂后也平均拆分為3組分別送入內(nèi)存緩沖區(qū)(非重要的數(shù)組),然后將它們進(jìn)行組合,分別把有用的和無用的搭配重新組合為三張表并顯示出來:

  把全部的篩選過程表述出來:

  1.初始化:

  把a(bǔ)[1-27]打亂并將

  a[1-9] 賦給first[1-9]
  a[10-18] 賦給second[1-9]
  a[19-27] 賦給third[1-9]

  2.第一次按鈕事件(假設(shè)選中的是第二個(gè)選項(xiàng)卡)

  second[1-9]打亂后賦給temp1[1-3]、temp2[1-3]、temp3[1-3]
  a[1-9]+a[19-27]賦給temp4[1-18] 并打亂
  temp1[1-3]+temp4[1-6]賦給first[1-9]并打亂
  temp2[1-3]+temp4[7-12]賦給second[1-9] 并打亂
  temp3[1-3]+temp4[13-18]賦給third[1-9] 并打亂
 
  3.第二次按鈕事件(假設(shè)選中的是第二個(gè)選項(xiàng)卡)

  temp2[1-3]打亂后賦給temp5[1]、 temp6[1] 、temp7[1]
  temp1[1-3]+temp3[1-3]+temp4[1-18]賦給temp8[1-24]并打亂
  temp5[1]+temp8[1-8]賦給first[1-9] 并打亂
  temp5[2]+temp8[9-16]賦給second[1-9] 并打亂
  temp5[3]+temp8[17-24]賦給third[1-9] 并打亂

  4.第三次按鈕事件(如果選中的是第二個(gè)選項(xiàng)卡)

  把temp5[2]所對(duì)應(yīng)的圖片顯示出來即可。

  最后分別把表a—表c打亂后顯示出來即可。 進(jìn)行二次、多次篩選的方法都一樣,只是要注意相中的好漢在哪個(gè)數(shù)組里面,千萬別搞錯(cuò)就行了。

  三、小結(jié)

  最后的工作就比較簡(jiǎn)單了。可以設(shè)計(jì)一個(gè)友好的界面,然后在程序啟動(dòng)的時(shí)候?qū)?shù)組賦初值,并顯示出來;對(duì)每個(gè)按鈕分別先進(jìn)行次數(shù)判斷,然后進(jìn)行前面講述的處理,不斷篩選直到剩下惟一的好漢后就可以顯示在界面的正下方了。


標(biāo)簽:VB小游戲:猜英雄 
主站蜘蛛池模板: 日韩中文字幕视频在线观看 | 亚洲男人网站 | 日日夜夜综合 | 热综合一本伊人久久精品 | 亚洲高清视频在线 | 日本一本在线视频 | 天天综合网天天综合色 | 一二三四五影视在线播放 | 日韩a级毛片免费视频 | 亚州综合网| 思思99re66在线精品免费观看 | 一级黄色在线播放 | 亚洲人成网男女大片在线播放 | 天天干天天拍天天射 | 午夜激情视频 | 人人草人人看 | 亚洲男人的天堂网 | 午夜在线免费视频 | 日本欧美久久久久免费播放网 | 日日拍夜夜嗷嗷叫狠狠 | 日韩美女黄大片在线观看 | 亚洲成人看片 | 欧美偷拍小视频 | 一级黄色片免费播放 | 日本护士后进式猛烈动态图片 | 日韩欧美精品综合久久 | 亚洲高清影院 | 日本国产中文字幕 | 青娱乐手机在线 | 日韩欧美一区二区中文字幕 | 亚洲免费网站观看视频 | 天天色天天色天天色 | 亚洲精品小说 | 亚洲码和乱人伦中文一区 | 在线观看精品自拍视频 | 亚洲网站大全 | 日韩在线免费观看视频 | 又粗又大又长又爽免费视频 | 淫片在线观看 | 青娱乐精品视频 | 日韩中文字幕在线视频 |