Kamil Ondrousek / Mbed 2 deprecated Game_Of_Life

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "TFT_4DGL.h"
00003 
00004 unsigned short int  displayold[40][53];
00005 unsigned short int  displaynew[40][53];
00006 
00007 int sx,sy,clst,x,y,test,loops;
00008 
00009 TFT_4DGL ecran(p9,p10,p11);
00010 
00011 int main() {
00012   
00013     srand(1);
00014   
00015     while(1) 
00016     {
00017     
00018     for (sy = 1; sy <= 52; sy++)
00019        {
00020             for (sx = 1; sx <= 39; sx++)
00021             {
00022                              
00023                if (rand()%10 == 4)
00024                 {
00025                     displayold[sx][sy] = 1;
00026                 }
00027             }
00028        }
00029     
00030     for (loops = 0;loops <= 500; loops++)
00031     {
00032      for (sy = 1; sy <= 52; sy++)
00033        {
00034             for (sx = 1; sx <= 39; sx++)
00035             {
00036              
00037                 if (displayold[sx][sy] == 1)
00038                 {
00039                     test = displayold[sx-1][sy-1] + displayold[sx][sy-1] + displayold[sx+1][sy-1] + displayold[sx-1][sy] + displayold[sx+1][sy] + displayold[sx-1][sy+1] + displayold[sx][sy+1] + displayold[sx+1][sy+1]; 
00040                     if (test == 2 || test == 3)
00041                      {               
00042                         displaynew[sx][sy] = 1;
00043                      }
00044                      else displaynew[sx][sy] = 0;
00045                 }
00046                 else
00047                 {
00048                     test = displayold[sx-1][sy-1] + displayold[sx][sy-1] + displayold[sx+1][sy-1] + displayold[sx-1][sy] + displayold[sx+1][sy] + displayold[sx-1][sy+1] + displayold[sx][sy+1] + displayold[sx+1][sy+1]; 
00049                     if (test == 3)
00050                      {               
00051                         displaynew[sx][sy] = 1;
00052                      }
00053                      
00054                 }
00055             
00056             }
00057        }       
00058 
00059     
00060     for (sy = 1; sy <= 52; sy++)
00061        {
00062             for (sx = 1; sx <= 39; sx++)
00063             {
00064                if (displaynew[sx][sy] != displayold[sx][sy])
00065                {
00066                displayold[sx][sy] = displaynew[sx][sy];
00067                if (displaynew[sx][sy] == 1) ecran.circle(6*sx,6*sy,2,rand());
00068                else ecran.circle(6*sx,6*sy,2,BLACK);     
00069                
00070                }
00071                              
00072                
00073             }
00074        }    
00075     
00076     
00077     }
00078     
00079     }
00080 }