c语言 细胞自动机(生命游戏)代码

    技术2023-09-25  105

    #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> int main(){ int i, j, k = 0, cal = 0, c=0; char map[57][75]; int l1[2000],r1[2000],l2[2000],r2[2000]; FILE *fl; char test[5]; srand((unsigned int)time(NULL)); for (i=0;i<57;i++){ for (j=0;j<75;j++){ map[i][j] = ' '; } } map[30][30] = '*'; map[31][29] = '*';map[31][31] = '*'; map[32][28] = '*';map[32][32] = '*'; map[33][28] = '*';map[33][32] = '*'; map[34][28] = '*';map[34][32] = '*'; map[35][28] = '*';map[35][32] = '*'; map[36][29] = '*';map[36][31] = '*'; map[37][30] = '*'; /* map[30][34] = '*'; map[30][37] = '*'; map[31][33] = '*'; map[32][33] = '*'; map[32][37] = '*'; map[33][33] = '*'; map[33][34] = '*'; map[33][35] = '*'; map[33][36] = '*';*/ fl=fopen("re.txt","w"); for (i=0;i<57;i++){ for (j=0;j<75;j++){ printf("%c",map[i][j]); } printf("\n"); } Sleep(5000); system("cls"); while(c<2000){ for (i=0;i<57;i++){ for (j=0;j<75;j++){ if (map[i][j] == ' ' && (map[i-1][j-1] + map[i-1][j] + map[i-1][j+1] + map[i][j-1] + map[i][j+1] + map[i+1][j-1] + map[i+1][j] + map[i+1][j+1]) == 286){ // map[i][j] = '*'; l1[k] = i; r1[k] = j; k++; } if (map[i][j] == '*' && (map[i-1][j-1] + map[i-1][j] + map[i-1][j+1] + map[i][j-1] + map[i][j+1] + map[i+1][j-1] + map[i+1][j] + map[i+1][j+1]) <= 266){ // map[i][j] = ' '; l2[cal] = i; r2[cal] = j; cal++; } if (map[i][j] == '*' && (map[i-1][j-1] + map[i-1][j] + map[i-1][j+1] + map[i][j-1] + map[i][j+1] + map[i+1][j-1] + map[i+1][j] + map[i+1][j+1]) >= 296){ // map[i][j] = ' '; l2[cal] = i; r2[cal] = j; cal++; } } } for (i=0;i<k;i++){ map[l1[i]][r1[i]] = '*'; } for (i=0;i<cal;i++){ map[l2[i]][r2[i]] = ' '; } k = 0; cal = 0; for (i=0;i<3;i++){ // map[rand()%57][(rand()/3)%75] = '*'; } for (i=0;i<57;i++){ for (j=0;j<75;j++){ if(map[i][j] == '*'){cal++;} printf("%c",map[i][j]); } printf("\n"); } fputs(itoa(cal,test,10),fl); fputs(" ",fl); if (c%10 == 9){fprintf(fl,"\n");} cal = 0; c++; Sleep(1000); system("cls"); } fclose(fl); // printf(",:32 %d *:42 %d",' ','*'); }
    Processed: 0.009, SQL: 9