论坛: 菜鸟乐园 标题: 关于用c语言编译“生命细胞游戏”的问提? 复制本贴地址    
作者: wjhwjh5 [wjhwjh5]    论坛用户   登录
我用turboc2成功地编译他的源代码(如下)
#include <graphics.h>
main(){
int T;
int orgData[20][20],resData[20][20];
int nCount,nRows,nCols,i,j,times;
int GraphDriver=DETECT,GraphMode;
   for (i=0;i<20;i++)
   {
     for (j=0;j<20;j++) orgData[i][j]=1;   /* init screen */
    }
   scanf("%d",&T);
initgraph(&GraphDriver,&GraphMode,"e:\turboc2");
setcolor(WHITE);
rectangle(210,120,310,220);  /* draw a rectangle(100*100) */
for (times=1;times<T;times++)
{
for (nRows=1;nRows<19;nRows++)
{
for (nCols=1;nCols<19;nCols++)
{
 nCount=orgData[nRows+1][nCols+1]
 +orgData[nRows+1][nCols]
 +orgData[nRows+1][nCols+1]
 +orgData[nRows][nCols+1]
 +orgData[nRows][nCols+1]
 +orgData[nRows+1][nCols+1]
 +orgData[nRows+1][nCols]
 +orgData[nRows+1][nCols+1];
switch(nCount){
  case 3: putpixel(nCols+210,120+nRows,BLACK);
resData[nRows][nCols]=1;
break;
  case 2: resData[nRows][nCols]=orgData[nRows][nCols];
break;
  default:resData[nRows][nCols]=0;
putpixel(nCols+210,120+nRows,WHITE);
}
}
}
for (i=1;i<19;i++)
{
 for (j=1;j<19;j++) orgData[i][j]=resData[i][j];
 }
getch();
}
}
但运行是却只在屏幕上显示一个100*100的白色方块,没有一点变化?这是为什么?请大家帮忙啊。不要打击我学习的积极性。我发了不少时间才弄懂他。

地主 发表时间: 01/08 19:12

回复: wjhwjh5 [wjhwjh5]   论坛用户   登录
我知道啦:D
上面程序里:
nCount=orgData[nRows+1][nCols+1]
 +orgData[nRows+1][nCols]
 +orgData[nRows+1][nCols+1]
 +orgData[nRows][nCols+1]
 +orgData[nRows][nCols+1]
 +orgData[nRows+1][nCols+1]
 +orgData[nRows+1][nCols]
 +orgData[nRows+1][nCols+1];
这一段我抄错啦。应该是:
nCount=orgData[nRows-1][nCols-1]
 +orgData[nRows-1][nCols]
 +orgData[nRows-1][nCols+1]
 +orgData[nRows][nCols-1]
 +orgData[nRows][nCols+1]
 +orgData[nRows+1][nCols-1]
 +orgData[nRows+1][nCols]
 +orgData[nRows+1][nCols+1];


B1层 发表时间: 01/09 12:45

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号