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

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

JavaScript 模擬一維康威宇宙(2020年8月21日)

2021-03-09 11:17 作者:阿-岳同學(xué)  | 我要投稿

制作背景

大一結(jié)束了,疫情還沒有結(jié)束,暑假在家里呆著,學(xué)習(xí)了html,css,還有一點點的JavaScript,以前寫過一個python版本的一維康威宇宙的程序,現(xiàn)在想到既然js這么方便,可視化渲染很輕松就能做到,為什么不用js來寫一個呢?已經(jīng)有了python基礎(chǔ)的我感覺直接用js來寫應(yīng)該也不會太難,先用python的思路做,js對應(yīng)不會的就直接從網(wǎng)上搜就可以,于是我就做了一個。(未參考任何其他相關(guān)康威宇宙的程序代碼,純自己寫的)

相關(guān)介紹

康威宇宙其實是二維的,我簡化成了一維。對于原版康威宇宙,可以看 https://zhuanlan.zhihu.com/p/45026142

這個一維的康威宇宙就是:在一個一維的宇宙中,有一堆細胞排列在這個宇宙所在的直線上,有點細胞是活細胞,有的細胞是死細胞。每過一個時刻,整個宇宙就會變化一次。怎么變化呢?規(guī)則是這樣的:

就是遍歷判斷每一個細胞,每個細胞會根據(jù)周圍四個細胞的狀態(tài)來改變自己接下來的狀態(tài),(周圍四個細胞是指:自己左邊的左邊,左邊,右邊,右邊的右邊,一共四個鄰居細胞),這樣下來,宇宙中的每一個死細胞可能會變成活細胞,每一個活細胞也可能會變成死細胞。具體判斷規(guī)則是這樣的:

對于活細胞:如果周圍四個細胞的活細胞數(shù)量在 [1, 2] 內(nèi),那么該活細胞在下一時刻繼續(xù)存活,否則因為擁擠或者孤獨而死亡。

對于死細胞:如果周圍四個細胞的活細胞數(shù)量在 [2, 3] 內(nèi),那么該死細胞在下一時刻復(fù)活,否則繼續(xù)保持死亡狀態(tài)。

遍歷的順序不影響結(jié)果

效果截圖

1223

源代碼



額外發(fā)現(xiàn)

修改上面程序中的這四個數(shù)據(jù),會改變宇宙的規(guī)則。下面的發(fā)現(xiàn)是 2020年2月25日 做python的對應(yīng)的程序的時候發(fā)現(xiàn)的。

var live_min = 1
var live_max = 2
var birth_min = 2
var birth_max = 3

當(dāng)前宇宙的規(guī)則是 1223 把每一時刻的狀態(tài)從上到下打印在屏幕上,就會呈現(xiàn)大片大片的謝爾賓斯基三角形的樣子,但是如果把四個變量依次修改成以下四個數(shù),就會有不同的呈現(xiàn)效果。(初始狀態(tài)是隨機的,死細胞和活細胞出現(xiàn)的概率均為50%)

1111
3211

1223:謝爾賓斯基三角形
1111:稀碎的謝爾賓斯基三角 + 大塊豎向條
1212:內(nèi)部穿插豎向條的謝爾賓斯基三角 + 大塊豎向條
1314:壓扁的謝爾賓斯基三角
1313:像履帶一樣整齊的紋理
2323:車印子
0000:被豎線切斷的橫線
0101:橫向線
0202:橫向線穿插像網(wǎng)
1413:幾條黑豎線
1414:全白
2424:全白
1234:幾條白豎線
1211:含有細微動態(tài)的二維碼
1222:含有鋸齒狀動態(tài)的二維碼
2311:二維碼 + 花式輪胎印
2322:二維碼 + 自行車印
1233:若干白豎線
1244:含有細微動態(tài)的很多白豎線
2222:白色各種自行車印
3434:頂端流下來一點白油,剩下全黑
3333:頂端流下來一點點白油,剩下全黑
4444:頂端流下來一點點點白油,剩下全黑

反思

今天已經(jīng)是 2020年11月1日了,發(fā)現(xiàn) 相關(guān)在屏幕上打印的操作可以用appendChild來實現(xiàn)。展示的效果其實還是可以再改進的。還有程序的結(jié)構(gòu)。


JavaScript 模擬一維康威宇宙(2020年8月21日)的評論 (共 條)

分享到微博請遵守國家法律
洛扎县| 陈巴尔虎旗| 剑川县| 亚东县| 宜章县| 鄂伦春自治旗| 全州县| 长岛县| 鹤山市| 孝感市| 深圳市| 衡东县| 陇川县| 平昌县| 临邑县| 东莞市| 香港| 观塘区| 平潭县| 河西区| 巴彦淖尔市| 年辖:市辖区| 新竹县| 三穗县| 阿瓦提县| 玛纳斯县| 江都市| 和林格尔县| 莆田市| 定安县| 正定县| 同江市| 含山县| 南川市| 黑龙江省| 河东区| 洛南县| 台北市| 长春市| 南靖县| 固原市|