由于作者实力较弱代码可能产生漏洞请原谅#includebits/stdc.h#includegraphics.h#includeconio.h#includethread#includemutex#includechrono#includecstdio#includevector#includequeue#includewindows.hconstintROWS55;constintCOLS112;usingnamespacestd;intd1;//初始化生命的第几代boolrunningfalse;structCell{intx,y;intf0;}sum[ROWS][COLS],sum2[ROWS][COLS];boolISMouse_Up(intmouseX,intmouseY,intx1,inty1,intx2,inty2){return(mouseXx1mouseXx2mouseYy1mouseYy2);}inlinevoidhua_mian(intdaishu){chardaishu_[101];sprintf(daishu_,%d,daishu);outtextxy(50,25,第 代);outtextxy(73,25,daishu_);for(inti1;iCOLS;i)line(i*10,60,i*10,600);for(inti1;iROWS;i)line(0,50i*10,1110,50i*10);rectangle(180,10,300,50);outtextxy(215,25,下一代);rectangle(315,10,395,50);outtextxy(340,25,清空);rectangle(430,10,500,50);outtextxy(450,25,开始);rectangle(505,10,575,50);outtextxy(525.5,25,结束);}voidchu_shi_hua(){for(inti0;iROWS;i)for(intj0;jCOLS;j){sum[i][j].xj*10-10;sum[i][j].y50i*10;}}voidqin_kong(){d1;cleardevice();hua_mian(d);for(inti1;iROWS;i){for(intj1;jCOLS;j){sum[i][j].f0;}}}voidupdate(){for(inti1;iROWS;i)for(intj1;jCOLS;j)sum[i][j].fsum2[i][j].f;cleardevice();hua_mian(d);for(inti1;iROWS;i)for(intj1;jCOLS;j)if(sum[i][j].f)bar(sum[i][j].x,sum[i][j].y,sum[i][j].x10,sum[i][j].y10);}voidbegin(){}voidend(){}voidgo(){for(inti1;iROWS;i)for(intj1;jCOLS;j)sum2[i][j].f0;for(inti1;iROWS;i){for(intj1;jCOLS;j){intlive_neighbors0;for(intk-1;k1;k){for(intm-1;m1;m){if(k0m0)continue;intrik;intcjm;if(r0rROWSc0cCOLS)live_neighborssum[r][c].f;}}if(sum[i][j].f){sum2[i][j].f(live_neighbors2||live_neighbors3)?1:0;}else{sum2[i][j].f(live_neighbors3)?1:0;}}}d;return;}voidmain_(){MOUSEMSG mouse;for(;;){mouseGetMouseMsg();if(mouse.uMsgWM_LBUTTONDOWN){if(ISMouse_Up(mouse.x,mouse.y,180,10,300,50)){go();update();}elseif(ISMouse_Up(mouse.x,mouse.y,315,10,395,50)){qin_kong();}elseif(ISMouse_Up(mouse.x,mouse.y,430,10,500,50)){begin();}elseif(ISMouse_Up(mouse.x,mouse.y,505,10,575,50)){end();}else{for(inti1;iROWS;i)for(intj1;jCOLS;j)if(ISMouse_Up(mouse.x,mouse.y,sum[i][j].x,sum[i][j].y,sum[i][j].x10,sum[i][j].y10)){COLORREF colorgetpixel(sum[i][j].x5,sum[i][j].y5);if(GetRValue(color)255GetGValue(color)255GetBValue(color)255){setfillcolor(RGB(0,0,0));setcolor(RGB(0,0,0));bar(sum[i][j].x1,sum[i][j].y1,sum[i][j].x10,sum[i][j].y10);sum[i][j].f0;setfillcolor(RGB(255,255,255));setcolor(RGB(255,255,255));}else{bar(sum[i][j].x,sum[i][j].y,sum[i][j].x10,sum[i][j].y10);sum[i][j].f1;}break;}}}}}intmain(){initgraph(1110,600,2);//建立一个1110*600的窗口cleardevice();//初始化窗口setfillcolor(RGB(255,255,255));//定义书写颜色setcolor(RGB(255,255,255));//定义窗口颜色chu_shi_hua();//初始化数据hua_mian(d);main_();getchar();}//版权归zzxjason所有请勿转载发帖