I have made more progress.
void delay_one(int v)
{
glColor3f(1.0f, 1.0f, 0.0f);
glRectf(-90.0f, 90.0f, -10.0f, 10.0f);
glutTimerFunc(1000, delay_one, v);
glFlush();
}
void delay_two(int v)
{
glColor3f(1.0f, 0.0f, 0.0f);
glRectf(10.0f, 90.0f, 90.0f, 10.0f);
glutTimerFunc(1000, delay_two, v);
glFlush();
}
void delay_three(int v)
{
glColor3f(0.0f, 1.0f, 0.0f);
glRectf(-90.0f, -10.0f, -10.0f, -90.0f);
glutTimerFunc(1000, delay_three, v);
glFlush();
}
void delay_four(int v)
{
glColor3f(0.0f, 0.0f, 1.0f);
glRectf(10.0f, -10.0f, 90.0f, -90.0f);
glutTimerFunc(1000, delay_four, v);
glFlush();
}
void draw_button()
{
if (board[0][0] == 1)
{
glColor3f(0.5f, 0.5f, 0.0f);
glRectf(-90.0f, 90.0f, -10.0f, 10.0f);
glFlush();
}
if (board[0][1] == 1)
{
glColor3f(0.5f, 0.0f, 0.0f);
glRectf(10.0f, 90.0f, 90.0f, 10.0f);
glFlush();
}
if (board[1][0] == 1)
{
glColor3f(0.0f, 0.5f, 0.0f);
glRectf(-90.0f, -10.0f, -10.0f, -90.0f);
glFlush();
}
if (board[1][1] == 1)
{
glColor3f(0.0f, 0.0f, 0.5f);
glRectf(10.0f, -10.0f, 90.0f, -90.0f);
glFlush();
}
}
void onMouseButton(int button, int state, int x, int y)
{
if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
{
if (x >= 130 && x <= 370 && y <= 270 && y >= 30)
{
board[0][0] = 1;
}
if (x >= 430 && x <= 670 && y <= 270 && y >= 30)
{
board[0][1] = 1;
}
if (x >= 130 && x <= 370 && y <= 570 && y >= 330)
{
board[1][0] = 1;
}
if (x >= 430 && x <= 670 && y <= 570 && y >= 330)
{
board[1][1] = 1;
}
draw_button();
}
glFlush();
}
I am building a simon game. However when I press a square and another square it turns both squares off and on. I want to turn on and off one square at a time.