元胞自動機之蘭頓螞蟻 c 實現

2021-08-20 20:28:51 字數 947 閱讀 2646

描述:

在平面上的正方形格被填上黑色或白色。在其中一格正方形有乙隻「螞蟻」。它的頭部朝向上下左右其中一方。

若螞蟻在黑格,右轉90度,將該格改為白格,向前移一步;

若螞蟻在白格,左轉90度,將該格改為黑格,向前移一步。

實現:

顯示方面依舊使用了easyx

由於不可能讓螞蟻無限走下去,人為地規定了步數20000步,當然也可以自己修改。並且人為規定它要在200*200的矩形中走並處理邊界。

源**:

#include 

#include

#include

#include

#include

int main()

//用tx和ty給x、y賦值並處理迴圈邊界(因為可能為超出那個200*200的格仔,而且不處理邊界的話下面賦值可能會出問題,陣列xy超出邊界

if (tx >= 0)

if (tx < 200)

x = tx;

else

x = tx - 200;

else

x = tx + 200;

if (ty >= 0)

if (ty < 200)

y = ty;

else

y = ty - 200;

else

y = ty + 200;

if (orgdata[x][y] == 0)//為白則塗黑左轉

else

//為黑則塗白右轉

}system("pause");

}

結果截圖:

c 元胞自動機 元胞自動機實現多數分類演算法

元胞自動機 cellular automaton 元胞自動機是由元胞組成的網格,每個元胞都根據鄰域的狀態來選擇開或關。所有的元胞都遵循同樣的規則,也稱為元胞的更新規則,規則根據各元胞鄰域的當前狀態決定元胞的下一步狀態。同自然界的複雜系統一樣,元胞自動機也是由大量簡單個體 元胞 組成,不存在 控制,每...

元胞自動機

即生命遊戲,今天下午迅雷的筆試程式設計題。簡單的版本,給定當前的狀態,給出下乙個時刻的狀態。status函式獲取某點當時周圍的活的細胞數量,寫的比較渣 include include include using namespace std define max 10010 int status ve...

元胞自動機

這 幾個關於元胞自動機的問題 元胞自動機 森林火災模型 規則 1 正在燃燒的樹變成空格位 2 如果綠樹格位的最近鄰居中有乙個樹在燃燒,則它變成正在燃燒的樹 3 在空格位,樹以概率p生長 4 在最近的鄰居中沒有正在燃燒的樹的情況下樹在每一時步以概率f 閃 電 變為正在燃燒的樹。參考文獻 祝玉學,趙學龍...