المفهوم
الأوتوماتون الخلوي شبكة تتغير فيها كل خلية حسب جيرانها. لعبة الحياة (كونواي، 1970): خلية حية بـ 2-3 جيران تبقى، ميتة بـ 3 بالضبط تولد. قواعد بسيطة تنتج تعقيداً مذهلاً.
الكود
// Game of Life
let grid, next, cols, rows, sz = 6;
function setup() {
createCanvas(400, 280); cols=floor(width/sz); rows=floor(height/sz);
grid=Array.from({length:rows},()=>Array.from({length:cols},()=>random()>0.7?1:0));
next=Array.from({length:rows},()=>new Array(cols).fill(0));
frameRate(10);
}
function draw() {
background(11,15,20);
for(let j=0;j<rows;j++) for(let i=0;i<cols;i++){
if(grid[j][i]){noStroke();fill(55,227,195);rect(i*sz,j*sz,sz-1,sz-1);}
let n=0; for(let dj=-1;dj<=1;dj++) for(let di=-1;di<=1;di++){if(!dj&&!di)continue;let ni=(i+di+cols)%cols,nj=(j+dj+rows)%rows;n+=grid[nj][ni];}
next[j][i]=grid[j][i]?(n==2||n==3?1:0):(n==3?1:0);
}
[grid,next]=[next,grid];
}للمزيد
استكشف الدورات المجانية الأخرى على صفحة التعلم، أو احجز مكالمة لمناقشة مشروعك.
هل تريد المزيد؟
← احجز مكالمة اكتشاف