IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

[JEU réflexion] Softdoku 2.5


Sujet :

Projets

  1. #1
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut [JEU réflexion] Softdoku 2.5
    Salut, me voici pour vous présenter mon projet tout juste fini : Softdoku 8.07.

    Softdoku est un logiciel de sudoku, phénomène de mode actuellement.

    L'idée de départ était juste de développer un algorithme basique reprenant les logiques de résolution de l'homme, puis, avec le temps,j'ai décidé d'en faire un vrai petit logiciel, mon premier


    Le logiciel se compose de trois fonction principales :
    _ Création de grilles complètes
    _Création de grilles à remplir vous-mêmes avec choix du niveau puisque c'est vous qui choisissez le nombre de chiffre à enlever
    _Résolution de grilles de sudoku.

    Pour plus d'informations, y compris une explication plus détaillée des principes appliqués dans le logiciel,je vous invite à lire le document Manuel.pdf dans le dossier racine du logiciel que vous pouvez trouver sur la page du projet, avec le setup du logiciel, ainsi que les codes sources, le soft étant sous license GPL.

    Page de Softdoku sur l'antre d'anubis

    Un petit aperçu pour vous mettre en bouche :




    Le projet est pour le moment stoppé car mes principaux objectifs sont atteints, et je pense que le logiciel peut se suffire à lui-même pour le moment, cependant, si vous trouvez des bugs, merci de me prévenir pour que je puisse les corriger au plus vite.

    Si vous avec des questions, ou des suggestions, n'hésitez pas.


    @+

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Comme tu ne cherchais pas particulièrement de personne et que le projet est a priori fini (du moins pour toi), on l'a placé dans le forum Contribuez
    Je ne répondrai à aucune question technique en privé

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Je viens de regarder un peu le code. J'ai tenté une compilation et j'ai un joli Segmentation Fault lors de l'appel de ta macro AFFICHER_JEU. Je n'ai pas le temps de regarder plus, par contre, il faut changer cela.

    Une macro comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    #define AFFICHER_JEU() j = 0 ;\
    for( position.x = 20 ; j < HAUTEUR ; position.x += 51)\
    {\
        i = 0 ;\
        for( position.y = 10; i < LONGUEUR ; position.y += 51)\
        {\
            if( grille[i][j] != 0)\
            {\
                sprintf(chiffre,"%d", grille[i][j]);\
                SDL_FreeSurface(chiffre_sur);\
                chiffre_sur = TTF_RenderText_Blended(police, chiffre, couleur);\
                SDL_BlitSurface(chiffre_sur,NULL,grille_sur,&position);\
            }\
            i++;\
        }\
        j++;\
    }\
    position.x = 10;\
    position.y = 10;\
    SDL_BlitSurface(grille_sur, NULL, ecran, &position);\
    position.x = 495;\
    position.y = 10;\
    bouton_s = IMG_Load("image/creer_s.JPG");\
    SDL_BlitSurface(bouton_s,NULL,ecran,&position);\
    position.y = 95;\
    bouton_s = IMG_Load("image/remplir_s.JPG");\
    SDL_BlitSurface(bouton_s, NULL,ecran,&position);\
    position.y = 180;\
    bouton_s = IMG_Load("image/solve_s.JPG");\
    SDL_BlitSurface(bouton_s, NULL,ecran,&position);\
    position.y = 265;\
    bouton_s = IMG_Load("image/stop_s.JPG");\
    SDL_BlitSurface(bouton_s, NULL,ecran,&position);\
    position.y = 350;\
    SDL_BlitSurface(info,NULL,ecran,&position);\
    SDL_Flip(grille_sur);\
    SDL_Flip(ecran);
    N'est pas seulement du goret pur mais est difficile à corriger. De plus, on ne s'amuse pas à charger une image par rendu, tu ne libères pas les variables dans la macro mais en dehors...

    Et tu appelles SDL_Flip sur différentes surfaces, j'avoue ne même pas savoir exactement ce qui se passe lorsqu'on appelle SDL_Flip sur une autre surface que ecran mais je pense, à ce que j'ai vu, qu'il l'ignore.

    Il faut mettre cette fonction dans une vrai fonctions et gérer tout proprement avant de pouvoir comprendre le segmentation fault que je recois.

    Jc

  4. #4
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    En fait, j'ai voulu faire cette macro parce qu'elle représente une base commune à l'affichage, mais en fonction des fonctions appelées en cours de route, l'affichage est varie, c'est pour ça que je n'ai pas fait de fonction d'affichage toute propre. Faire une fonction m'aurait rajouter énormément de variable, de test,...

    Par contre, je n'ai pas de problème de compilation moi, c'est bizarre !

    A votre avis, vaut-il mieux laisser la macro, ou carrément mettre le code lui-même dés que j'ai besoin d'actualiser l'affichage?

    @+

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hao,

    Pour te répondre, je plussois sur fearyourself : une macro comme ça, c'est presque LA référence du code goret.

    Je ne vois pas en quoi faire une fonction plutôt qu'une macro implique
    Citation Envoyé par lord anubis
    Faire une fonction m'aurait rajouter énormément de variable, de test,...
    ?
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    En fait, mes surfaces changent en fonction des fonctions en cours de traitement, je dois ou non afficher la grille, je dois afficher tel ou tel info, je dois activer tel ou tel test, ...

    Mais si ce genre de macro n'est pas le top, je crois que je vais mettre le code entier à la place de mes appels macro, comme ça, ce sera un peu plus long, mais plus correct.

    @+

  7. #7
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Finalement, aprés moult critique obtenu sur cette macro,je vais l'enlever et faire une fonction à la place, j'ai déjà le code en tête, et ce ne sera peut-être pas aussi difficile que je le pensais.

    Je le ferais normalement ce week-end.

    Sinon, à part cette vilaine macro , que pensez-vous du reste du jeu et du reste du code.

    @+

  8. #8
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    ca y est, j'ai enlevé la macro, par contre, je n'ai pas pu faire de fonction globale d'affichage, donc j'ai fait la fonction normale, et j'ai recopié/modifié le code au endroit où j'appelais la macro.

    J'attends toujours un maximum de commentaires.

    PS J'edit mon pemier post.


    @+

  9. #9
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par lord anubis
    J'attends toujours un maximum de commentaires.
    Chez moi cela plante toujours mais j'avoue n'avoir pas testé ta nouvelle version vu que c'est juste un copier coller de la macro. Par contre, où se trouve la dernière version de la source pour le jour où j'irais voir ?

    Je vais faire mes commentaires fichiers par fichiers :

    main.c :

    D'où est venu l'idée de faire deux initialisations et de ne tester que la deuxième ? Une erreur de copier-coller ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        SDL_Init(SDL_INIT_VIDEO);
        if(SDL_Init(SDL_INIT_VIDEO) == -1)
    ...
        TTF_Init();
        if(TTF_Init() == -1)
    Commun.c :


    Faut tester le retour de cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
            //On attend un evènement
     
            SDL_WaitEvent(&event);

    Ensuite, cette fonction est déclarée int mais il n'y a pas de retour. D'ailleurs, à la place d'utiliser un pointeur pour récupérer si le jeu devrait ou non se terminer, tu pourrais simplement retourner 0 ou 1...


    Faut tester le retour de ces fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        ecran = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
    ...
     
        //Paramètres de la fenètre
        icone = IMG_Load("image/image.jpg");
    ...
         police = TTF_OpenFont("times.ttf", 34);
    ...
         grille_sur = IMG_Load("image/grille.jpg");
         info = IMG_Load("image/menu_principal.jpg");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
        //On affiche l'écran, et on attend une action grâce à la fonction pause
     
        while(jeu_on == 1)
     
        {
            police = TTF_OpenFont("times.ttf", 34);
     
            SDL_Surface *grille_sur = NULL, *info = NULL;
     
            SDL_Surface *chiffre_sur = NULL, *bouton_s = NULL;
     
            grille_sur = IMG_Load("image/grille.jpg");
     
     
     
            info = IMG_Load("image/menu_principal.jpg");
     
     
     
            //On appelle la macro d'affichage de l'écran
     
            AFFICHER_JEU()
     
     
     
            SDL_FreeSurface(grille_sur);
     
            SDL_FreeSurface(chiffre_sur);
     
            SDL_FreeSurface(bouton_s);
     
            SDL_FreeSurface(info);
     
            TTF_CloseFont(police);
     
     
     
            //On lance la fonction d'attente d'évènement
     
            pause(grille, &jeu_on);
     
     
     
        }
    Je ne suis pas d'accord, on ne s'amuse pas à libérer et charger les images à tout bout de champ... On le fait une fois et on libère seulement quand il faut... Tu pourrais simplement les sortir de la boucle par exemple...


    Et ton appel à la fonction pause deviendrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jeu_on = pause(grille);
    Ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //ici, on gère le message d'attente et celui d'erreur
     
    void message(int message)
     
    {
     
        SDL_Surface *ecran = NULL;
     
        ecran = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
    1) Manque le test sur le retour
    2) Quelle idée de refaire un init... Soit c'est pas un jeu qui demande beaucoup de ressources mais relancer la fenêtre à chaque fois... Ne pourrais-tu pas sauvegarder l'écran quelque part et passer la structure contenant l'écran ? Tu dois sûrement avoir d'autres variables intéressantes à mettre dedans... Par exemple, la police que tu recharges tout le temps...

    Dans la fonction message, les mêmes remarques sur les retour des fonctions... Attention par contre, fuite de mémoire dans cette fonction, tu ne libères qu'une fois bouton_s mais tu ouvres plusieurs images.

    Je ne mettrais pas des variables fixes pour la position du menu mais j'utiliserais un fichier donnant les valeurs voulue et je ferais un système plus dynamique, cela te permettrait de réutiliser ton menu pour autre chose.

    La fonction remplir_grille est un peu difficile à comprendre au premier abord. A la place tu pourrais la subdiviser en plusieurs partie. On recherche une case, on propose un chiffre et on continue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    while(stop) {
     stop = choix_case(...);
     
     //Affichage 
     
     if(stop) {
       cont = propose_entier();
     }
    }
    Voilà c'est tout pour le moment, je regarderais le reste plus tard,
    Jc

  10. #10
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Salut, si tu veux trouver le nouveau code, tu peux aller sur la page du projet :
    Page de softdoku sur l'antre d'anubis

    Pour les test d'initialisation, c'est effectivement une faute d'inattention.

    Quand au test de chargement d'image, c'est vrai que je dois le mettre, mais normalement, il n'y pas de pb.

    Pour la structure contenant écran et police, ... je n'y avais pensé pas, je vais creuser...

    Par contre, je n'ai pas compris ton idée sur la position du menu

    Je n'ai pas non plus compris pour la fuite de mémoire, c'est toujours la même surface non , même si je change l'image?


    @+

  11. #11
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par lord anubis
    Quand au test de chargement d'image, c'est vrai que je dois le mettre, mais normalement, il n'y pas de pb.
    Pour être direct, il n'y a pas de normalement qui tienne. Je crois que c'est pour cela que cela plante chez moi car j'ai pris les sources et on dirait que les images ne sont pas dedans. Un message d'erreur aurait été mieux qu'un segmentation fault.

    Par contre, je n'ai pas compris ton idée sur la position du menu
    Tu peux regarder ici pour une solution possible :
    http://fearyourself.developpez.com/t...morpion/part5/

    Je n'ai pas non plus compris pour la fuite de mémoire, c'est toujours la même surface non , même si je change l'image?
    Non. Juste pour que nous soyons d'accord, je parle de ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        bouton_s = IMG_Load("image/creer_s.JPG");
        SDL_BlitSurface(bouton_s,NULL,ecran,&position);
        position.y = 95;
        bouton_s = IMG_Load("image/remplir_s.JPG");
        SDL_BlitSurface(bouton_s, NULL,ecran,&position);
        position.y = 180;
        bouton_s = IMG_Load("image/solve_s.JPG");
        SDL_BlitSurface(bouton_s, NULL,ecran,&position);
        position.y = 265;
        bouton_s = IMG_Load("image/stop_s.JPG");
        SDL_BlitSurface(bouton_s, NULL,ecran,&position);
        position.y = 350;
    A chaque nouvel appel (sans test en plus !), le pointeur bouton_s est écrasé par un nouveau pointeur. Donc la mémoire allouée est perdue pour de bon.

    Jc

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonsoir, je viens de télécharger et compiler les sources. J'ai rajouté des
    dans les switch de
    remplir.c:446
    commun.c:600

    et voici la liste des warnings que j'obtiens en le compilant (option de gcc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    crea.c:: In function `crea_main':
    crea.c:37: warning: implicit declaration of function `message'
    crea.c:30: warning: unused variable `colonne'
    main.c:21: warning: unused parameter 'argc'
    main.c:21: warning: unused parameter 'argv'
    main.c:: In function `SDL_main':
    main.c:50: warning: statement with no effect
    remplir.c:: In function `remplir_main':
    remplir.c:79: warning: implicit declaration of function `message'
    remplir.c:: In function `recup_chiffre':
    remplir.c:236: warning: missing initializer
    remplir.c:236: warning: (near initialization for `couleur.unused')
    remplir.c:233: warning: unused variable `couleur'
    reso.c:: In function `reso_main':
    reso.c:49: warning: implicit declaration of function `message'
    reso.c:: In function `resolution':
    reso.c:247: warning: unused variable `i'
    reso.c:247: warning: unused variable `j'
    reso.c:: In function `last_chance':
    reso.c:234: warning: control reaches end of non-void function
    commun.c:: In function `pause':
    commun.c:27: warning: unused variable `i'
    commun.c:28: warning: unused variable `j'
    commun.c:: In function `menu':
    commun.c:105: warning: missing initializer
    commun.c:105: warning: (near initialization for `couleur.unused')
    commun.c:99: warning: unused variable `position'
    commun.c:100: warning: unused variable `event'
    commun.c:102: warning: unused variable `couleur'
    commun.c:111: warning: unused variable `i'
    commun.c:111: warning: unused variable `j'
    commun.c:114: warning: unused variable `chiffre'
    commun.c:: In function `message':
    commun.c:242: warning: missing initializer
    commun.c:242: warning: (near initialization for `couleur.unused')
    commun.c:: In function `remplir_grille':
    commun.c:336: warning: missing initializer
    commun.c:336: warning: (near initialization for `couleur.unused')
    commun.c:: In function `affichage':
    commun.c:694: warning: missing initializer
    commun.c:694: warning: (near initialization for `couleur.unused')
    commun.c:682: warning: unused variable `tamp'
    commun.c:684: warning: unused variable `event'
    commun.c:: In function `pause':
    commun.c:86: warning: control reaches end of non-void function
    :: === Build finished: 0 errors, 32 warnings ===
    En tout cas joli programme, merci, je vais me pencher plus en détail sur les sources

  13. #13
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Merci, je vais tester en rajoutant les default, et je corrigerais les quelques trucs qui restent ce week-end, ou début de la semaine prochaine, je vous préviendrais.

    PS: Je rajouterais aussi les images avec les sources

    Edit: fear, que faudrait-il que je fasse pour éviter la fuite de mémoire lorsque je change bouton_s ?
    Edit2: Je viens de rajouter les default, dans tous mes switch, et je n'ai aucune erreur.


    @+

  14. #14
    Invité
    Invité(e)
    Par défaut
    Rahahalalala ce que l'on peut être nul quand on écrit tôt le matin au réveil avant d'aller bosser...

    mes options de GCC pour les warnings sont ceux d'Emmanuel Delahaye :
    -Wall -Wextra -O2 -Wwrite-strings -Wstrict-prototypes

    D'où sans doute le fait que tu ne trouves pas d'erreurs toi.

    Sinon, bonne idée de rajouter les images

  15. #15
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par lord anubis
    Edit: fear, que faudrait-il que je fasse pour éviter la fuite de mémoire lorsque je change bouton_s ?
    Il faudrait libérer entre chaque chargement. Je te conseille de regarder :

    http://www.developpez.net/forums/sho...d.php?t=381836

    Jc

  16. #16
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Pour libérer la mémoire, j'ai mis un SDL_FreeSurface aprés chaque chargement

    J'ai aussi un tout petit peu arranger le code

    La page sur mon sit est actualisé, comme ici

    @+

  17. #17
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par lord anubis
    Pour libérer la mémoire, j'ai mis un SDL_FreeSurface aprés chaque chargement

    J'ai aussi un tout petit peu arranger le code

    La page sur mon sit est actualisé, comme ici

    @+
    c'est bien mais je vois toujours autant de IMG_Load et de TTF_OpenFont et de SDL_SetVideoMode dans ton code. Ce n'est pas la bonne méthode pour faire les choses...

    Bon je t'accorde que t'as au moins ajouté les tests après les chargements, c'est déjà ca...

    Maintenant, j'ai simplement un :

    commun.c: icone = IMG_Load("image/image.jpg");
    lorsque je lance l'application...

    Jc

  18. #18
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    C'estl'erreur que tu obtient en compilant ?

    As-tu l'image en question, je ne sais pas si je l'avais déjà mise.

    @+

  19. #19
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par lord anubis
    C'estl'erreur que tu obtient en compilant ?

    As-tu l'image en question, je ne sais pas si je l'avais déjà mise.

    @+
    Ben vu que je n'ai toujours pas les images

    Par contre, faudra tout de même nettoyer le code, ce n'est pas très optimisé tout cela...

    Jc

  20. #20
    Membre du Club Avatar de lord anubis
    Inscrit en
    Février 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Février 2006
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    C'est bon, tu peux télécharger les images en même temps que le code, je les ais rajoutées, tu peux le redl sur mon site :
    Page de softdoku sur l'antre d'anubis


    @+

Discussions similaires

  1. [Projet en cours] Jeu de Mémoire et Réflexion sur Android - [MEMO LOGIC]
    Par garcon_etoile dans le forum Projets
    Réponses: 7
    Dernier message: 21/03/2015, 14h42
  2. [Projet terminé] PetSpyr - Jeu de réflexion (Android / PC)
    Par OuiOuiDidou dans le forum Projets
    Réponses: 3
    Dernier message: 15/09/2014, 10h26
  3. Réponses: 11
    Dernier message: 24/08/2014, 23h27
  4. [iOS] [Jeu] Casse-tête : amusez-vous tout en travaillant votre réflexion !
    Par aliasc dans le forum Mon application mobile
    Réponses: 0
    Dernier message: 10/09/2013, 09h26
  5. Un petit jeu de réflexion
    Par xviniette dans le forum Projets
    Réponses: 13
    Dernier message: 05/06/2012, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo