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

C Discussion :

revenir sur une boucle sur homebrew psp


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut revenir sur une boucle sur homebrew psp
    salut a tous je suis entrain de coder un homebrew pour psp en c et j'ai un probleme j'aimerai qu'a l'appui d'une touche mon code pointe sur le menu donc en faite faire un retour au debut du code mais je ne c'est pas comment faire :/
    voila mon code , merci de votre aide
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    #include <stdio.h>
    #include <stdlib.h>
    #include <libge/libge.h>
     
    PSP_MODULE_INFO("Menu", 0, 0, 0);
    PSP_HEAP_SIZE_KB(512);
     
     
    int main(int argc, char *argv[])
    {
     
     
        geInit();
     
        ge_Image* back = geLoadImage("fond.png");
        ge_Image* curs1 = geLoadImage("fleche_g.png");
        ge_Image* curs2 = geLoadImage("fleche_d.png");
    	ge_Image* sex = geLoadImage("sex.png");
    	ge_Image* laf = geLoadImage("laf.png");
        ge_Image* you = geLoadImage("you.png");
     
     
     
        int selecteur = 1, maxselecteur = 3;
        ge_Keys *pad = geCreateKeys(), *oldpad = geCreateKeys();
     
     
       while (1)
        {
            geClearScreen();
            geReadKeys(pad);
            geDrawImage(0, 0, back);
     
            if(pad->pressed[GEK_DOWN] && !oldpad->pressed[GEK_DOWN])
            {
                selecteur++;
            }
            if(pad->pressed[GEK_UP] && !oldpad->pressed[GEK_UP])
            {
                selecteur--;
            }
            if (selecteur > maxselecteur)
            {
               selecteur = 1;
            }
            else if (selecteur < 1)
            {
               selecteur = maxselecteur;
            }
     
            if (selecteur == 1)
            {
               geDrawImage(150, 145, curs1);
               geDrawImage(270, 145, curs2);
            }
            if (selecteur == 2)
            {
               geDrawImage(120, 180, curs1);
               geDrawImage(315, 180, curs2);
            }
            if (selecteur == 3)
            {
               geDrawImage(140, 230, curs1);
               geDrawImage(285, 230, curs2);
     
            }  
     
     
            if(pad->pressed[GEK_CROSS] && !oldpad->pressed[GEK_CROSS] && selecteur == 1){
     
     
            while (2)
        {
     
            geClearScreen();
            geDrawImage(0,0, laf);
    		if(pad->pressed[GEK_CROSS] && !oldpad->pressed[GEK_CROSS]){
     
     
     
    c'est ici que je veut revenir au debut du code ( a l'appuie du boutton rond) 
    		}
            geSwapBuffers();
        }
     
            }
            if(pad->pressed[GEK_CROSS] && !oldpad->pressed[GEK_CROSS] && selecteur == 2){
     
            while (3)
        {
     
            geClearScreen();
            geDrawImage(0,0, sex);
    		if(pad->pressed[GEK_CIRCLE] && !oldpad->pressed[GEK_CIRCLE]){
     
    		}
            geSwapBuffers();
        }
     
     
            }
            if(pad->pressed[GEK_CROSS] && !oldpad->pressed[GEK_CROSS] && selecteur == 3){
     
            while (4)
        {
     
            geClearScreen();
            geDrawImage(0,0, you);
    		if(pad->pressed[GEK_CIRCLE] && !oldpad->pressed[GEK_CIRCLE]){
     
    		}
            geSwapBuffers();
        }
     
     
            }
     
                 geFreeImage(laf);
    			 geFreeImage(sex);
    			 geFreeImage(you);
            geReadKeys(oldpad);
            geSwapBuffers();
        }
     
        sceKernelExitGame();
        return 0;
     
    }

  2. #2
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    Salut,

    intéressant les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    while(1) {
      ...
      while (2) {
        ...
        while (3) {
          ...
        }
        ...
      }
      ...
    }
    while (un nombre différent de 0) est une boucle inifinie, pour en sortir tu peux utiliser l'instruction break :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while (1) {
      while (2) {
        if (un événement) break; +
      }                          |
                                /
      // ici après le break *<-´
    }
    si un événement est vrai, tu sortiras du bloc de while(2) pour reprendre juste après dans le bloc du while(1).

    Original comme style de programmation, mais je dirais que l'on doit pouvoir faire plus propre avec une vraie conditionnelle dans le while ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut
    salut , j'ai essayé de mettre break dans le if (appuie bouton ) mais ca ne marche pas ... tu pense qu'il faut que j'enleve les while (1) while(2) ?

  4. #4
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    Citation Envoyé par tanguynoub Voir le message
    salut , j'ai essayé de mettre break dans le if (appuie bouton ) mais ca ne marche pas ... tu pense qu'il faut que j'enleve les while (1) while(2) ?
    ça ne marche pas ... c'est vague.

    Tu n'as pas d'exemples livrés avec ta bibliothèque ? Bidouiller pour que ça tombe en marche n'est jamais une bonne chose ...

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut
    quand je dit que sa marche pas je veu dire que sa fait beuger mon programme , je ne peut plus rien faire
    et j'ai trouver ce code d'exemple http://dridri85.free.fr/index.php?op...mple&Itemid=36
    mais j'ai pas trouver mon bohneur peut-etre qe tu le trouvera ^^
    merci de m'aidé c'est cool de ta part

  6. #6
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    C'est la première fois que tu programmes en C ?

Discussions similaires

  1. [2008R2] SQLCMD faire une boucle sur une query
    Par janlouk dans le forum Développement
    Réponses: 2
    Dernier message: 25/06/2015, 14h10
  2. Écrire le résultat d'une boucle sur une ligne
    Par Erlen dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 03/05/2012, 15h18
  3. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  4. une colle sur une boucle
    Par blastfr dans le forum SAS Base
    Réponses: 6
    Dernier message: 27/04/2010, 15h19
  5. Réponses: 3
    Dernier message: 16/02/2007, 12h35

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