Example #1
0
void gameOfLife(int** board, int boardRowSize, int boardColSize) {
    int live,i,j;
    
    for(i=0;i<boardRowSize;i++) {
        for(j=0;j<boardColSize;j++) {
            live=countLive(board,boardRowSize,boardColSize,i,j);
            if(board[i][j]==0) {
                if(live==3) {
                    board[i][j]+=10;
                }
            } else {
                if(live==2||live==3) {
                    board[i][j]+=10;
                }
            }
        }
    }
    
    for(i=0;i<boardRowSize;i++) {
        for(j=0;j<boardColSize;j++) {
            board[i][j]/=10;
        }
    }
    
    return;
}
Example #2
0
/**
 * Function: Basic Display Callback Function
 */
void display()
{
	int i,j,k;
	int cell;
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

	glLoadIdentity();
	glRotatef(xRot, 1.0, 0.0, 0.0);
	glRotatef(yRot, 0.0, 1.0, 0.0);
	glTranslatef(-0.5, -0.5, -0.5);
	glBegin(GL_POINTS);
	
	for (i = 0; i < LENGTH; i++)
		for (j = 0; j < WIDTH; j++)
			for (k = 0; k < HEIGHT; k++)
			{
				cell = grid[i][j][k];
				if(cell)
				{
					setColor(cell);
					glVertex3f((float)i/LENGTH,(float)j/WIDTH,(float)k/HEIGHT);
				}
			}
	glEnd();
	
	if(counting)
		countLive();
	
	glFlush();
	// Double Buffering
	glutSwapBuffers();
}