Création d'une grille de sudoku [Résolu]

Messages postés
3
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2008
- - Dernière réponse : eawen
Messages postés
3
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2008
- 16 mai 2008 à 15:40
Bonjour

,

Je souhaite coder à l'aide d'openGL une grille de sudoku.
Malheureusement, j'ai des difficulté, j'ai tout d'abord donner une couleur à ma fenètre, puis crée un carré pour délimiter la grille de sudoku, et je cherche à créer des lignes horizontales et verticales, j'ai essayer GL_LINES mais je ne vois pas apparaître de ligne (je le fais en 2 d). Pouvez vous m'aider?
Merci d'avance.

Voici le code :
void grille(void)
{
    // couleur noire
    glClearColor(0,0,0,0);
    //efface la frame buffer
    glClear (GL_COLOR_BUFFER_BIT);
    //définition du carré du sudoku
    glBegin (GL_POLYGON);
    glClear (GL_COLOR_BUFFER_BIT);
    glColor3f(1.0,1.0,1.0);//couleur du carré blanc
    glVertex2d(-9,-9);
    glVertex2d(9,-9);
    glVertex2d(9,9);
    glVertex2d(-9,9);
    glEnd();

    glBegin (GL_LINES);
    glClear (GL_COLOR_BUFFER_BIT);
    glColor3f(1.0,1.0,0.0);//couleur de ligne
    glVertex2d(9,0);       C'est ici le problème

    glEnd();

    glFlush();
}

void reshape (int w,int h)
{
    if(w>h)
        glViewport(0,0,h,h);
    else
        glViewport(0,0,w,w);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glClear (GL_COLOR_BUFFER_BIT);
//    glColor3f(1.0,1.0,1.0); //couleur du carré
    gluOrtho2D(-10,10,-10,10);
}

void main (int argc, char** argv)
{
    glutInit (&argc,argv);
    glutInitDisplayMode(GLUT_RGBA|GLUT_SINGLE);
    glutInitWindowSize(940,940); //indique la taille de la fenètre
    glutInitWindowPosition (50,50); //indique l'endroit où l'on agit
    glutCreateWindow("Ma fenètre de sudoku OpenGL");
    glutDisplayFunc(grille);
    glutReshapeFunc(reshape);
    glutMainLoop();
}
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
3
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2008
3
Merci
j'ai trouver.
Il faut mettre
glVertex2i(9,9);
glVertex2i(-9,9);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de eawen
Messages postés
3
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2008
3
Merci
j'ai un autre problème lorsque je crée mes lignes il apparait: un
 carré avec 8 lignes verticales sauf que la fin du dessin est bizarr une sorte de triangle noir apparait par dessus le carré, je n'ai plus de carré!

voici mon code:
void grille(void)
{
    int i;
    glClearColor(0,0,0,0);
    glClear (GL_COLOR_BUFFER_BIT);
   //définition du carré du sudoku
    glBegin (GL_POLYGON);
    glClear (GL_COLOR_BUFFER_BIT);
    glColor3f(1.0,1.0,1.0);//couleur du carré blanc
    glVertex2d(0,3);
    glVertex2d(9,3);
    glVertex2d(0,-6);
    glVertex2d(9,-6);
    glEnd();

    glBegin (GL_LINES);
    glClear (GL_COLOR_BUFFER_BIT);
    for(i=1;i<9;i++)
    {
        glColor3f(0.0,0.0,0.0);//couleur de ligne noir
        glVertex2i(i,3);
        glVertex2i(i,-6);
    }
    glEnd();

    glFlush();
}

void reshape (int w,int h)
{
    if(w>h)
        glViewport(0,0,h,h);
    else
        glViewport(0,0,w,w);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glClear (GL_COLOR_BUFFER_BIT);
    gluOrtho2D(-10,10,-10,10);
}

void main (int argc, char** argv)
{
    glutInit (&argc,argv);
    glutInitDisplayMode(GLUT_RGBA|GLUT_SINGLE);
    glutInitWindowSize(940,940); //indique la taille de la fenètre
    glutInitWindowPosition (50,50); //indique l'endroit où l'on agit
    glutCreateWindow("Ma fenètre de sudoku OpenGL");
    glutDisplayFunc(grille);
    glutReshapeFunc(reshape);
    glutMainLoop();
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de eawen