Wolfram Rnd 1D cellular automata - 640x480 vga - with random rules

Dependencies:   fastlib mbed vga640x480g

Files at this revision

API Documentation at this revision

Comitter:
JLS
Date:
Sun Mar 04 13:07:21 2012 +0000
Commit message:

Changed in this revision

fastlib.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
vga640x480g.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fastlib.lib	Sun Mar 04 13:07:21 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Ivop/code/fastlib/#bc492a93e116
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Mar 04 13:07:21 2012 +0000
@@ -0,0 +1,66 @@
+#include "mbed.h"
+#include "vga640x480g.h"
+
+void DisplayState(int s[],int len, int row);
+
+int main() {
+
+    init_vga();
+    vga_cls();
+    
+ 
+ while(1) {
+ 
+    int iteration = 479;
+    int lenght = 639;
+    int row = 0;
+    int state[lenght];
+    int newstate[lenght];
+    int i,j,k;
+    int rules[8] = {rand()%2,rand()%2,rand()%2,rand()%2,rand()%2,rand()%2,rand()%2,rand()%2};
+    
+    wait (0.5);
+    
+    vga_cls();
+    
+    for (i=0;i<lenght;i++)
+  
+        state[i]= int (rand()%2);
+
+    for (i=0;i<iteration;i++) {
+
+    for (j=0;j<lenght;j++) newstate[j] = 0;
+
+    for (j=0;j<lenght;j++) {
+
+        k = 4*state[(j-1+lenght)%lenght] + 2*state[j] + state[(j+1)%lenght];
+        newstate[j] = rules[k];
+      }
+
+    for (j=0;j<lenght;j++) state[j] = newstate[j];
+        
+        DisplayState(state,lenght,row);
+        row = row + 1;
+        if (row == 480) row = 0;
+   }
+   
+   }
+
+  }    
+  
+  
+void DisplayState(int s[],int len, int row)
+{
+    int i;
+
+    for (i=0;i<len;i++) {
+
+        if (s[i] == 1){
+            vga_plot(i,row,WHITE);
+       }
+         
+        else{
+            vga_plot(i,row,BLACK);
+        }
+      }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Mar 04 13:07:21 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vga640x480g.lib	Sun Mar 04 13:07:21 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/gertk/code/vga640x480g/#821e34a87609