Wolfram 1D cellular automata - 640x480 vga
Dependencies: fastlib mbed vga640x480g
main.cpp
00001 #include "mbed.h" 00002 #include "vga640x480g.h" 00003 00004 void DisplayState(int s[],int len, int row); 00005 00006 int main() { 00007 00008 init_vga(); 00009 00010 vga_cls(); 00011 00012 int iteration = 479; 00013 int lenght = 639; 00014 00015 int rules[8] = {1,1,1,0,1,0,0,1}; 00016 00017 int row = 0; 00018 00019 int state[lenght]; 00020 int newstate[lenght]; 00021 int i,j,k; 00022 00023 while(1) { 00024 00025 for (i=0;i<lenght;i++) 00026 00027 state[i]= int (rand()%2); 00028 00029 for (i=0;i<iteration;i++) { 00030 00031 for (j=0;j<lenght;j++) newstate[j] = 0; 00032 00033 for (j=0;j<lenght;j++) { 00034 00035 k = 4*state[(j-1+lenght)%lenght] + 2*state[j] + state[(j+1)%lenght]; 00036 newstate[j] = rules[k]; 00037 } 00038 00039 for (j=0;j<lenght;j++) state[j] = newstate[j]; 00040 00041 DisplayState(state,lenght,row); 00042 row = row + 1; 00043 if (row == 480) row = 0; 00044 } 00045 00046 } 00047 00048 } 00049 00050 00051 void DisplayState(int s[],int len, int row) 00052 { 00053 int i; 00054 00055 for (i=0;i<len;i++) { 00056 00057 if (s[i] == 1){ 00058 vga_plot(i,row,WHITE); 00059 } 00060 00061 else{ 00062 vga_plot(i,row,BLACK); 00063 } 00064 } 00065 }
Generated on Fri Jul 15 2022 05:21:50 by 1.7.2