void SetLocationE()
{
glLoadIdentity();
glTranslatef(-11.5f, -8.125f, .0f);
}
void ScreenBuffer::drawQuad(int column, int row, float r, float g, float b)
{
// Draw quad
SetLocationE();
float x = jcolumn * 23.0 / 40.0;
float y = irow * 16.25 / 20.0;
glTranslatef(x, y, zet);
glBegin(GL_QUADS);
//painting
glColor3f(r, g, b);
//drawing TOP RIGHT -> TOP LEFT
// -> BOTTOM LEFT -> BOTTOM RIGHT
glVertex3f(0.15f, 0.15f, .0f); //tr
glVertex3f(-0.15f, 0.15f, .0f); //tl
glVertex3f(-0.15f, -0.15f, .0f); //bl
glVertex3f(0.15f, -0.15f, .0f); //br
glEnd();
}
void ScreenBuffer::RenderToScreen(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* DRAW */
for (int i = 0; i < 20; i++) // Y [0-20]
{
for (int j = 0; j < 40; j++) // X [0-40]
{
// select color
if (MAP[i][j] == 'x') {
drawQuad(j, i, 0.0f, 0.0f, 0.0f);
}
else if (MAP[i][j] == '0')
{
drawQuad(j, i, 0.0f, 0.3f, 0.1f);
}
else if (MAP[i][j] == 'o')
{
drawQuad(j, i, 0.0f, 0.7f, 0.2f);
}
}
}
}