生命游戏C++代码initgraph窗口版(有功能未开放) 由于作者实力较弱代码可能产生漏洞请原谅#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所有请勿转载发帖
💡
读完这篇文章,你可以带走什么

本文来自编程新知一线开发与建站实战沉淀:讲清原理、给出可复现步骤、标注避坑要点。看完后可以直接在你的项目或网站中落地验证。

编程新知内容团队
一线开发 · 建站实施 · 持续更新
由资深前端工程师、后端架构师与建站实施人员共同维护,坚持"真实案例 + 完整步骤 + 避坑指南"的内容准则。如果你在落地中遇到问题,欢迎联系我们交流。

想把这套方案用到自己的项目上?

编程新知提供技术答疑与网站建设一站式服务,欢迎联系我们获取针对性建议。

联系工程师
📚

系统学习该技术

进入对应栏目,从基础到进阶完整学习,配套案例与避坑指南。

前往栏目 →
🏗️

需要落地实施

企业建站、SEO 优化、服务器部署等需求,交给工程师一步到位。

了解服务 →
💬

还有疑问

技术难题或方案咨询,联系编程新知获取一对一的专业建议。

联系我们 →