下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于nc中介組織的生命游戲的設(shè)計(jì)與實(shí)現(xiàn)
1.總結(jié)1.1數(shù)學(xué)游戲的起源生命之游戲是20世紀(jì)70年代由英國(guó)哲學(xué)家約翰dynamitoncough和其他人開發(fā)的數(shù)學(xué)游戲。該游戲最先在《科學(xué)美國(guó)人》雜志上被提出。生命游戲是一個(gè)零玩家游戲,其原理是細(xì)胞自動(dòng)機(jī)。1.2細(xì)胞不同的人1)當(dāng)一個(gè)細(xì)胞周圍的8個(gè)格子里正好有3個(gè)細(xì)胞生存,則該細(xì)胞也能生存(假如該細(xì)胞原來死亡,現(xiàn)在就能生存,假如該細(xì)胞原來生存,現(xiàn)在繼續(xù)生存)。2)當(dāng)一個(gè)細(xì)胞周圍的8個(gè)格子里正好有2個(gè)細(xì)胞生存,則該細(xì)胞保持不變(假如該細(xì)胞原來死亡,現(xiàn)在繼續(xù)死亡,假如該細(xì)胞原來生存,現(xiàn)在繼續(xù)生存)。3)其余情況,該細(xì)胞皆死亡。1.3生命游戲模塊系統(tǒng)模塊由以下幾個(gè)部分構(gòu)成:核心算法與Ncurses圖形化界面。其中核心算法部分包含了初始化,更新狀態(tài),計(jì)算存活鄰居數(shù)目,輸出,執(zhí)行這五大模塊。當(dāng)程序運(yùn)行時(shí),用戶通過選擇一種生命游戲的模式,從而開始游戲。系統(tǒng)通過核心算法的計(jì)算檢測(cè)每一個(gè)位置的狀態(tài),之后在重新刷新時(shí),更新細(xì)胞的狀態(tài)。2.關(guān)鍵模塊的設(shè)計(jì)2.1生命生命的模擬過程初始化模塊預(yù)先設(shè)置了6種初始模式,用戶可以選擇其中的某一種模式開始模擬生命生長(zhǎng)的過程。初始化模塊按照選擇的某一種模式設(shè)置初始存活的細(xì)胞,其余的細(xì)胞皆設(shè)置為死亡狀態(tài)。初始化模塊主要通過initiate函數(shù)實(shí)現(xiàn)。2.2細(xì)胞結(jié)構(gòu)體pe該模塊中,對(duì)于每一個(gè)細(xì)胞,系統(tǒng)計(jì)算出其周圍8個(gè)細(xì)胞的狀態(tài),并把統(tǒng)計(jì)出的狀態(tài)存入cell類型的結(jié)構(gòu)體中。其中cell結(jié)構(gòu)體是由以下幾部分構(gòu)成:當(dāng)前位置的橫坐標(biāo),縱坐標(biāo),判斷細(xì)胞是否存活的標(biāo)志,判斷細(xì)胞下一時(shí)刻是否存活的標(biāo)志,以及該細(xì)胞周圍的存活細(xì)胞個(gè)數(shù)。該模塊通過實(shí)現(xiàn)count_neighbours函數(shù)實(shí)現(xiàn)。2.3細(xì)胞狀態(tài)的變化該模塊中,當(dāng)系統(tǒng)下一個(gè)時(shí)間點(diǎn)刷新界面時(shí),系統(tǒng)通過查看cell結(jié)構(gòu)體內(nèi)的鄰居的狀態(tài)來決定當(dāng)前細(xì)胞是否存活,并更新當(dāng)前細(xì)胞的狀態(tài)。該模塊通過實(shí)現(xiàn)get_new_state函數(shù)實(shí)現(xiàn)。2.4模型單元的設(shè)計(jì)輸出模塊主要是利用ncurses圖形庫進(jìn)行繪制圖形。該模塊通過實(shí)現(xiàn)print函數(shù)實(shí)現(xiàn)。2.5執(zhí)行模塊設(shè)計(jì)執(zhí)行模塊是系統(tǒng)的重要組成部分,該模塊通過調(diào)用其他模塊實(shí)現(xiàn)算法。該模塊通過實(shí)現(xiàn)execute函數(shù)實(shí)現(xiàn)。3.圖的實(shí)現(xiàn)3.1ncuses圖形庫Ncurses是開源的圖形庫,遵循GNU協(xié)議,最早由美國(guó)伯克利大學(xué)的兩人編寫,進(jìn)行一個(gè)游戲的圖形界面顯示。之后貝爾實(shí)驗(yàn)室的工作人員又在此基礎(chǔ)上重寫了該圖形庫。Ncurses被廣泛地運(yùn)用在Linux圖形編程。著名的Linux下的瀏覽器w3w就是采用ncurses圖形庫編寫。另外,在Windows環(huán)境中也有類似的圖形庫pcurses,同樣也是由貝爾實(shí)驗(yàn)室開發(fā)。3.2使用rcus在該系統(tǒng)中,ncurses被運(yùn)用來創(chuàng)建系統(tǒng)的圖形界面,包括供用戶選擇的選項(xiàng),可以切換的面板,菜單項(xiàng)目,和輸出字符串。3.2init/分離窗口init_menu函數(shù)運(yùn)用于初始化菜單,即顯示設(shè)置的幾種模式以供用戶選擇模擬。于此對(duì)應(yīng)的是clear_menu函數(shù),當(dāng)程序需要銷毀菜單時(shí),該函數(shù)即被調(diào)用。init_wins函數(shù)用于初始化窗口,在本系統(tǒng)中,由兩個(gè)窗口,分別是用戶選擇模式的窗口和模擬過程的窗口,正如圖2所示。在Ncurses中,窗口的建立是通過調(diào)用newwin方法實(shí)現(xiàn)的。窗口的顯示出了需要調(diào)用init_wins外還需要調(diào)用win_show函數(shù),該函數(shù)負(fù)責(zé)顯示已經(jīng)創(chuàng)建好的窗口。在程序運(yùn)行結(jié)束時(shí),需要調(diào)用clear_menu和endwin來清除菜單和窗口。4.細(xì)胞發(fā)展變化模擬本文就一經(jīng)典的數(shù)學(xué)游戲問題提出了程序的解決方案,從構(gòu)建模型到具體實(shí)現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年八年級(jí)統(tǒng)編版語文寒假預(yù)習(xí) 第06講 《禮記》二則
- 2021年高考語文二輪復(fù)習(xí)講練測(cè)專題12-鑒賞詩歌的形象(測(cè))(解析版)
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題匯編集錦
- 【2021春備課】高中政治四步教學(xué)法(人教版-必修2):3.2-政府的責(zé)任:對(duì)人民負(fù)責(zé)-第2步-講
- 2025年跨0016成都合源美智教育科技有限公司
- 肌筋膜炎的治療教學(xué)材料
- 茅盾及其子夜課件
- 《個(gè)性時(shí)尚》課件
- 2024毛石加工定制與安裝服務(wù)合同3篇
- 2024年長(zhǎng)春汽車經(jīng)濟(jì)技術(shù)開發(fā)區(qū)事業(yè)單位專項(xiàng)招聘筆試真題
- 噴涂設(shè)備保養(yǎng)和維護(hù)操作規(guī)程
- 中國(guó)特色社會(huì)主義理論與實(shí)踐復(fù)習(xí)資料-研究生
- 抖音學(xué)習(xí)考試題及答案
- 北師大附中2024屆高一上數(shù)學(xué)期末聯(lián)考試題含解析
- 后勤外包服務(wù)保密管理制度范文
- 小學(xué)國(guó)慶節(jié)主題活動(dòng)方案設(shè)計(jì)(四篇)
- 行政事業(yè)單位內(nèi)部控制培訓(xùn)課件
- 2009別克昂科雷維修手冊(cè)gd扉頁
- 數(shù)字化轉(zhuǎn)型對(duì)企業(yè)創(chuàng)新能力的影響研究
- 工廠消防安全培訓(xùn)知識(shí)課件
- 魯教版五四制-六年級(jí)英語下冊(cè)-Unit1-單元練習(xí)題+單元評(píng)價(jià)檢測(cè)(含答案)
評(píng)論
0/150
提交評(píng)論