俄羅斯版本的任務可以在存儲庫中找到。
加載級別2…
加載大廳…
您最近去過類似的大廳。還是很久以前?很難說。一切都混淆了。再次,您可以從大廳的遠處聽到聲音。這意味著您並不孤單。今天,大廳照亮了,井井有條。品種很好。
突然,您會聽到揚聲器的清晰,完美的聲音:
你好。
讓我自我介紹。我是沉思和分析模塊M-53。由於未知的原因,我發現自己在這個相當無聊的大廳裡。這是一個很大的責任和東西,但是這裡沒有什麼可考慮的。
當我開發時,我還從某些有趣的文章中學到了其他材料。它的紙質副本在框A1B18中。是的,就在這裡。我對您的要求很小:從文章中發展生活遊戲;希望這會讓我有些愉快。和平。圖形可能非常簡單:我很開放。終端中的偽圖會很好。如果可以使用矩陣和思考初始化狀態,那就太好了。最好將至少5個原始初始化與經典集合(穩定的人物,甲殼蟲,週期性人物,移動人物,槍支,puffer火車,食客,反射器,育種者等)進行準備也是一個好主意。
我期待看到您的想法!
謝謝。
==任務收到。在C中開發一個SRC/GAME_OF_LIFE.C程序 - 生命遊戲的可視化。要顯示圖形,僅使用ASCII字符(輸出到終端)。您需要實施生活遊戲的交互式版本。還可以創建調整“遊戲”速度的選項。 ==
將運動場視為“遊戲”狀態的矩陣。假定該場“封閉於自身”,例如,在右下方,右側的鄰居是左下方的正方形,底部的鄰居是右上方。通過Stdin提供“遊戲”狀態的原始初始化。通過輸入重定向準備至少5個具有初始狀態的文件,以快速啟動和初始化。
遊戲必須以C為C,具有結構化的樣式,並從終端延伸;
您的源代碼將由靜態分析儀cppcheck
以及樣式的linter cpplint
測試。
有關如何在計算機上運行這些測試的說明在materials
文件夾中。
請勿使用笨重的功能,請限制多達40行(不包括main
)。
檢查您的程序是否有內存洩漏!
開發遊戲時,請遵循E. Dijkstra結構化編程的原則。
載入中...
生命的遊戲,也簡單地被稱為生活,是由英國數學家約翰·霍頓·康威(John Horton Conway)在1970年設計的蜂窩自動機。它是一款零遊戲遊戲,這意味著它的演變是由其初始狀態決定的,不需要進一步的投入。一個人通過創建初始配置並觀察其發展方式來與生活遊戲互動。它已經完成,可以模擬通用構造函數或任何其他圖靈機。
生命遊戲的宇宙是方形細胞的無限,二維正交網格,每個網格在兩個可能的狀態之一中,是生命或死亡的一種狀態之一(或人口稠密的人群)。每個細胞都與其八個鄰居相互作用,這些鄰居是水平,垂直或對角線相鄰的細胞。在每個時間步驟中,都會發生以下過渡:
任何少於兩個現場鄰居的活細胞死亡,就好像人口不足一樣。任何具有兩個或三個現場鄰居的活細胞都將生活在下一代。任何具有三個以上鄰居的活細胞死亡,就好像被人口過多一樣。任何具有三個活的鄰居的死細胞都會成為一個活細胞,就好像通過繁殖一樣。這些規則將自動機的行為與現實生活進行比較,可以凝結為以下內容:
任何具有兩個或三個活的鄰居的活細胞都能倖存。任何擁有三個活鄰居的死細胞都會成為現場牢房。所有其他活細胞都死於下一代。同樣,所有其他死細胞都死了。初始圖案構成了系統的種子。第一代是通過同時應用於種子中每個單元格的上述規則來創建的。出生和死亡同時發生,而發生這種情況的離散時刻有時被稱為tick蟲。每一代都是前一個的純函數。該規則繼續反复應用以創建更多的世代。
1940年底,約翰·馮·諾伊曼(John von Neumann)將生命定義為一種創造(是存在或有機體),可以自身複製並模擬圖靈機。馮·諾伊曼(Von Neumann)正在考慮一種工程解決方案,該解決方案將使用在液體或氣體中隨機漂浮的電磁成分。事實證明,當時可用的技術並不現實。 Stanislaw Ulam發明了細胞自動機,旨在模擬Von Neumann的理論電磁構建體。烏拉姆(Ulam)使用計算機在幾篇論文中使用計算機在二維晶格中模擬其細胞自動機。同時,馮·諾伊曼(Von Neumann)試圖構建ULAM的細胞自動機。儘管成功,但他忙於其他項目,並留下了一些未完成的細節。他的結構很複雜,因為它試圖模擬他自己的工程設計。隨著時間的流逝,其他研究人員提供了更簡單的生活結構,並在論文和書籍中發表。
約翰·康威(John Conway)從數學邏輯中的問題和部分烏拉姆(Ulam)進行的模擬遊戲中的一部分,約翰·康威(John Conway)從1968年開始進行實驗,並使用各種不同的二維蜂窩自動機規則。自動機。例如,他希望一些配置能夠持續很長時間,然後再垂死,而其他配置將永遠繼續下去,而無需允許週期。這是一個重大的挑戰和一個開放的問題,直到蜂窩自動機的專家設法證明,實際上,生活的生命遊戲已經承認了一種配置,而這種配置就滿足了馮·諾伊曼(Von Neumann )的兩個一般要求。儘管生活遊戲前的定義是驗證的,但康威的構造目的是簡單,而沒有先驗的證明自動機已經活著。
康威經過大量實驗,仔細選擇了他的規則以滿足這些條件:
不應該有爆炸性的增長。應該存在小的初始模式,並具有混亂,不可預測的結果。馮·諾伊曼通用構建體應該有潛力。在遵守上述約束的同時,規則應盡可能簡單。該遊戲在1970年10月的《科學美國人》(Scientific American)上首次公開露面,這是馬丁·加德納(Martin Gardner)的“數學遊戲”專欄。從理論上講,生活遊戲具有通用圖靈機的力量:可以在生命遊戲中計算的任何可以計算算法的東西。加德納(Gardner)寫道:“由於人生的類比與生物社會的興起,跌倒和改變,它屬於所謂的“模擬遊戲”(類似於現實生活中的遊戲)的成長類別。”
自出版以來,人生遊戲引起了人們的極大興趣,因為模式可以發展出令人驚訝的方式。它提供了出現和自組織的例子。各個領域的學者,例如計算機科學,物理學,生物學,生物化學,經濟學,數學,哲學和生成科學,都利用了從遊戲簡單規則實施的複雜模式可以浮出水面的方式。該遊戲還可以用作教學類比,用於傳達某種違反直覺的觀念,即在沒有設計師的情況下設計和組織可以自發出現。例如,認知科學家丹尼爾·丹尼特(Daniel Dennett宇宙。
人生遊戲的普及得到了與越來越便宜的計算機訪問同時進入的幫助。遊戲可能會在這些機器上運行數小時,否則這些機器在晚上仍未使用。在這方面,它預示了後來的計算機生成的分形的普及。對於許多人來說,生活遊戲只是一個編程挑戰:使用其他浪費的CPU週期的有趣方式。但是,對於某些人來說,生活遊戲具有更多的哲學含義。它在1970年代及以後發展了一個邪教。目前的發展甚至是在生命委員會遊戲範圍內創建計算機系統的理論仿真。
載入中...