void stateWin() { float blur; glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); drawWinnerBlur(); blur=127*sin(4*count*M_PI/180)+127; glLineWidth(7); glPointSize(4); if(scoreRight==7) { glColor4ub(0,0,255,blur); glPushMatrix(); glTranslated(width/2,0,0); drawWinner(); glPopMatrix(); } else { glColor4ub(255,0,0,blur); drawWinner(); } winIcons(); count++; }
/* * Checks if there is a winner get using the standard tic-tac-toe rules. Returns * 1 if a winner was found, and 0 if not. */ int winner() { int i,j; //check rows and cols first for(i=0;i<3;i++) { //check the rows then the columns if (grid[i][0] == grid[i][1] && grid[i][1] == grid[i][2] && grid[i][0] != '\0') { //draw the winning line drawWinner(0,i,2,i); return 1; } else if (grid[0][i] == grid[1][i] && grid[1][i] == grid[2][i] && grid[0][i] != '\0') { //draw the winning line drawWinner(i,0,i,2); return 1; } } //now check the diagonals if (grid[0][0] == grid[1][1] && grid[1][1] == grid[2][2] && grid[0][0] != '\0') { //draw the winning line drawWinner(0,0,2,2); return 1; } else if (grid[2][0] == grid[1][1] && grid[1][1] == grid[0][2] && grid[1][1] != '\0') { //draw the winning line drawWinner(2,0,0,2); return 1; } //no winner found return 0; }