最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

史上最詳細(xì)Excel制作生命游戲,體驗(yàn)生命的演變。

2021-08-31 13:38 作者:斜陽(yáng)不知?dú)w  | 我要投稿

Excel制作生命游戲

目錄

1.游戲界面展示... 1

2.生命游戲概述... 2

3.生命游戲生存規(guī)則... 2

4.使用Excel模擬生命游戲... 3

4.1制作流程... 3

4.2打開(kāi)Excel 3

4.3設(shè)置單元格... 4

4.4繪制演示區(qū)... 4

4.5設(shè)置條件格式... 5

4.6形成雙演示區(qū)域... 5

4.7編輯公式... 6

4.8編寫(xiě)VBA代碼... 7

4.9制作按鈕... 7

4.10自定義迭代次數(shù)... 8

?

?

1.游戲界面展示

圖1 演示界面



2.生命游戲概述

????因?yàn)樗M和顯示的圖像看起來(lái)頗似生命的出生和繁衍過(guò)程而得名為“生命游戲。在游戲進(jìn)行中,雜亂無(wú)序的細(xì)胞會(huì)逐漸演化出各種精致、有形的結(jié)構(gòu);這些結(jié)構(gòu)往往有很好的對(duì)稱(chēng)性,而且每一代都在變化形狀。一些形狀一經(jīng)鎖定就不會(huì)逐代變化。有時(shí),一些已經(jīng)成形的結(jié)構(gòu)會(huì)因?yàn)橐恍o(wú)序細(xì)胞的“入侵”而被破壞。但是形狀和秩序經(jīng)常能從雜亂中產(chǎn)生出來(lái)。

??? 生命游戲是一個(gè)二維網(wǎng)格游戲,這個(gè)網(wǎng)格中每個(gè)方格居住著一個(gè)活著或死了的細(xì)胞。一個(gè)細(xì)胞在下一個(gè)時(shí)刻的生死取決于相鄰8個(gè)方格中活著或死了的細(xì)胞的數(shù)量。如果相鄰方格活著的細(xì)胞數(shù)量過(guò)多,這個(gè)細(xì)胞會(huì)因?yàn)橘Y源匱乏而在下一個(gè)時(shí)刻死去;相反,如果周?chē)罴?xì)胞過(guò)少,這個(gè)細(xì)胞會(huì)因?yàn)楣聠味廊?。在游戲初始階段,玩家可以設(shè)定周?chē)罴?xì)胞(鄰居)的數(shù)目和位置。如果鄰居細(xì)胞數(shù)目設(shè)定過(guò)高,網(wǎng)格中大部分細(xì)胞會(huì)因?yàn)檎也坏劫Y源而死去,直到整個(gè)網(wǎng)格都沒(méi)有生命;如果鄰居細(xì)胞數(shù)目設(shè)定過(guò)低,世界中又會(huì)因?yàn)樯∩俣貌坏椒毖?。?shí)際中,鄰居細(xì)胞數(shù)目一般選取2或者3;這樣整個(gè)生命世界才不至于太過(guò)荒涼或擁擠,而是一種動(dòng)態(tài)平衡。游戲規(guī)則是:當(dāng)一個(gè)方格周?chē)袃蓚€(gè)或3個(gè)活細(xì)胞時(shí),方格中的活細(xì)胞在下一個(gè)時(shí)刻繼續(xù)存活;即使這個(gè)時(shí)刻方格中沒(méi)有活細(xì)胞,在下一個(gè)時(shí)刻也會(huì)“誕生”活細(xì)胞。在這個(gè)游戲中,還可以設(shè)定一些更加復(fù)雜的規(guī)則,例如當(dāng)前方格的狀態(tài)不僅由父一代決定,而且還考慮到祖父一代的情況。

????每個(gè)方格中都可放置一個(gè)生命細(xì)胞,每個(gè)生命細(xì)胞只有兩種狀態(tài):

????“生”或“死”。用黑色方格表示該細(xì)胞為“生”,空格(白色)表示該細(xì)胞為“死”?;蛘哒f(shuō)方格網(wǎng)中黑色部分表示某個(gè)時(shí)候某種“生命”的分布圖。生命游戲想要模擬的是:隨著時(shí)間的流逝,這個(gè)分布圖將如何一代一代地變化。

?

3.生命游戲生存規(guī)則

????游戲開(kāi)始時(shí),每個(gè)細(xì)胞隨機(jī)地設(shè)定為“生”或“死”之一的某個(gè)狀態(tài)。然后,根據(jù)某種規(guī)則,計(jì)算出下一代每個(gè)細(xì)胞的狀態(tài),畫(huà)出下一代細(xì)胞的生死分布圖。

????應(yīng)該規(guī)定什么樣的迭代規(guī)則呢?需要一個(gè)簡(jiǎn)單的,但又反映生命之間既協(xié)同又競(jìng)爭(zhēng)的生存定律。為簡(jiǎn)單起見(jiàn),最基本的考慮是假設(shè)每一個(gè)細(xì)胞都遵循完全一樣的生存定律;再進(jìn)一步,把細(xì)胞之間的相互影響只限制在最靠近該細(xì)胞的8個(gè)鄰居中。

????也就是說(shuō),每個(gè)細(xì)胞迭代后的狀態(tài)由該細(xì)胞及周?chē)?個(gè)細(xì)胞狀態(tài)所決定。作了這些限制后,仍然還有很多方法來(lái)規(guī)定“生存定律”的具體細(xì)節(jié)。例如,在康威的生命游戲中,規(guī)定了如下生存定律。

(1)當(dāng)前細(xì)胞為死亡狀態(tài)時(shí),當(dāng)周?chē)?個(gè)存活細(xì)胞時(shí),則迭代后該細(xì)胞變成存活狀態(tài)(模擬繁殖);若原先為生,則保持不變。

(2)當(dāng)前細(xì)胞為存活狀態(tài)時(shí),當(dāng)周?chē)泥従蛹?xì)胞低于兩個(gè)(不包含兩個(gè))存活時(shí),該細(xì)胞變成死亡狀態(tài)(模擬生命數(shù)量稀少)。

(3)當(dāng)前細(xì)胞為存活狀態(tài)時(shí),當(dāng)周?chē)袃蓚€(gè)或3個(gè)存活細(xì)胞時(shí),該細(xì)胞保持原樣。

(4)當(dāng)前細(xì)胞為存活狀態(tài)時(shí),當(dāng)周?chē)?個(gè)以上的存活細(xì)胞時(shí),該細(xì)胞變成死亡狀態(tài)(模擬生命數(shù)量過(guò)多)。

可以把最初的細(xì)胞結(jié)構(gòu)定義為種子,當(dāng)所有種子細(xì)胞按以上規(guī)則處理后,可以得到第1代細(xì)胞圖。按規(guī)則繼續(xù)處理當(dāng)前的細(xì)胞圖,可以得到下一代的細(xì)胞圖,周而復(fù)始。

上面的生存定律當(dāng)然可以任意改動(dòng),發(fā)明出不同的“生命游戲”。

演示如圖2所示


圖2生命游戲演示


????1號(hào)從“死亡狀態(tài)”變成“活著狀態(tài)”,3號(hào)和4號(hào)從“活著”變成“死亡”,2號(hào)保持狀態(tài)不變。

?

?

?

4.使用Excel模擬生命游戲

4.1制作流程

圖3 制作流程圖

4.2打開(kāi)Excel

????打開(kāi)excel,注意是可以運(yùn)行VBA代碼,可以設(shè)置宏的excel。

圖4 打開(kāi)Excel


4.3設(shè)置單元格

將單元格設(shè)置為像素是30x30的單元格,目的是正方形的單元格讓人看著更舒服。先全選所有單元格,接著鼠標(biāo)左鍵點(diǎn)擊拖動(dòng)單元格的邊界即可調(diào)整。

圖5 設(shè)置單元格


4.4繪制演示區(qū)

繪制生命游戲的演示區(qū)域,劃定邊界,生命只在該區(qū)域內(nèi)演變。

圖6 演示區(qū)


4.5設(shè)置條件格式

為演示區(qū)域設(shè)置條件格式,先全選區(qū)域,再設(shè)置單元格式,1的單元格填充黑色表示活著,0的單元格填充白色表示死亡。

圖7 設(shè)置單元格規(guī)則


4.6形成雙演示區(qū)域

復(fù)制區(qū)域,形成兩個(gè)演示區(qū)域,因?yàn)楹笃诘牡枰ㄟ^(guò)區(qū)域的復(fù)制粘貼實(shí)現(xiàn)。

圖8 雙演示區(qū)


4.7編輯公式

?

開(kāi)始利用Excel的公式編寫(xiě)規(guī)則,將單元格分為三個(gè)類(lèi)型,角單元格、邊單元格、內(nèi)部單元格。在右邊演示圖中輸入公式,用左邊的演示圖作為判斷標(biāo)準(zhǔn),分別將相關(guān)的公式羅列如下:

圖9 角單元格
圖10 邊單元格

?

圖11 內(nèi)部單元格


4.8編寫(xiě)VBA代碼

開(kāi)始使用VBA實(shí)現(xiàn)迭代功能,編寫(xiě)VBA代碼。

圖 12 VBA代碼




代碼如下:

4.9制作按鈕

制作按鈕,插入圖形,將圖形和宏進(jìn)行關(guān)聯(lián)。

?

圖13 設(shè)置宏


4.10自定義迭代次數(shù)

設(shè)置可以自定義的迭代次數(shù)。將迭代次數(shù)填寫(xiě)單元格中,利用代碼讀取該單元格的次數(shù),代碼同上。

圖14? 迭代次數(shù)設(shè)置


繪制初始圖形,設(shè)置迭代次數(shù),點(diǎn)擊運(yùn)行,即可看到運(yùn)行效果。

?

?

?


史上最詳細(xì)Excel制作生命游戲,體驗(yàn)生命的演變。的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
开封市| 渝北区| 新巴尔虎右旗| 溧水县| 吉木萨尔县| 达拉特旗| 盐池县| 资中县| 安溪县| 潞城市| 容城县| 罗定市| 绥江县| 玉溪市| 莱芜市| 洮南市| 新平| 景谷| 荣昌县| 故城县| 乐安县| 牙克石市| 西华县| 东光县| 景德镇市| 西乌| 都江堰市| 临猗县| 祁阳县| 林州市| 仁布县| 龙里县| 岗巴县| 霍邱县| 馆陶县| 赤壁市| 咸宁市| 中卫市| 洛浦县| 玛曲县| 修武县|