【求个C++生命游戏代码或思路】
定义一个2维数组,写个循环一直改变生死状态,改变完绘制出来就可以了
【“生命游戏”的规则是什么?】
1. 如果一个细胞周围有3个细胞为生(一个细胞周围共有8个细胞),则该细胞为生,即该细胞若原先为死,则转为生,若原先为生,则保持不变;
2. 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;
3. 在其它情况下,该细胞为死,即该细胞若原先为生,则转为死,若原先为死,则保持不变设定图像中每个像素的初始状态后依据上述的游戏规则演绎生命的变化,由于初始状态和迭代次数不同,将会得到令人叹服的优美图案。
【谁可以用c++编一个生命游戏代码 (要尽可能简单明了的)不要网上的】
#include<iostream>
using namespace std;
struct Cell
{
bool live;
int others;
};
void main()
{
Cell cell[10][10];
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
{
cell[i][j].live=true;
cell[i][j].others=0;
}
while(1)
{
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
{
cell[i][j].others=0;
}
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(cell[i][j].live)
cout<<"$ ";
else
cout<<"- ";
}
cout<<endl;
}
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
{
if((i-1)>=0 && (j-1)>=0 && cell[i-1][j-1].live)
cell[i][j].others++;
if((i-1)>=0 && cell[i-1][j].live)
cell[i][j].others++;
if((i-1)>=0 && (j+1)<10 && cell[i-1][j+1].live)
cell[i][j].others++;
if((j-1)>=0 && cell[i][j-1].live)
cell[i][j].others++;
if((j+1)<10 && cell[i][j+1].live)
cell[i][j].others++;
if((i+1)<10 && (j-1)>=0 && cell[i+1][j-1].live)
cell[i][j].others++;
if((i+1)<10 && cell[i+1][j].live)
cell[i][j].others++;
if((i+1)<10 && (j+1)<10 && cell[i+1][j+1].live)
cell[i][j].others++;
switch(cell[i][j].others)
{
case 2:break;
case 3:cell[i][j].live=true;break;
default:cell[i][j].live=false;break;
}
}
Sleep(1000);
//clrscr();
system("cls");//可以用这个清屏
}
}
【这是哪个电影的截图?】
天使下凡
【一些漂亮的图案一般是由一些简单的图形什么的】
你告诉我他几区的 名字是谁 我帮你灭人去 前提是你给我分
【怎么样插画手绘简单小图案】
先试着临摹,不管临摹什么,哪怕只是喜羊羊也没问题,临摹一些画会让初学者少走弯路,这是我的个人经验,忘采纳