二維陣列的應用─ 生命遊戲The Game of Life
生命遊戲(The Game of Life)是John H. Conway在1970年所提出的生物體增殖模式,這個遊戲讓我們可以電腦模擬的方式觀察生物體的誕生與死亡。電腦模擬的方式是在一個NxN方格矩陣中進行,每個方格中以1代表生物體存在,以0代表生物體不存在。每一個新世代生物體的誕生或死亡是依據其所在方格的八個相鄰方格狀態來決定。其規則如下:
1. 誕生:空方格中誕生新生物體的條件為其八個相鄰方格中恰有3個生物體。
2. 死亡:方格中生物體的相鄰方格中若有等於或大於4個生物體的情形,該生物體將因過於擁擠而死亡,而若相鄰方格中小於或等於1個生物體,該生物體亦將因為過於孤單而死亡。
3. 生存:方格中生物體的相鄰方格中若為2個或3個生物體,則該方格的生物體可以存活至下一個新世代。
下圖所示為由第一代方格產生之第二代與第三代方格:
000000 000000 000000
010100 001000 011100
001000 011100 000000
001000 011100 000000
010100 001000 011100
000000 000000 000000
您的程式設計工作為設計一個生命遊戲程式,於設定起始條件後,模擬一個25x25方格中各個世代生物體的狀態,並將結果輸出到螢幕與檔案中。
有關設計此程式的相關資訊如下:
1. 25x25方格邊界的格子不必加以處理(假設生命體無法存在)。
2. 模擬至第幾世代可自行設定。
3. 有關生命遊戲的較詳細資訊可參考以下網頁資料:http://www.cs.cornell.edu/home/xliu/life.html
http://www.bitstorm.org/gameoflife/
注意事項:
1. 程式評分之基本重點:(1)程式功能,(2)程式使用者介面,(3)程式之設計結構,(4)程式碼之註解,(5)程式碼之格式(style),(6)程式的輸出。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.241.223