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

Langage Pascal Discussion :

[LG] Pb pour quitter un jeu (revenir au menu à la fin)


Sujet :

Langage Pascal

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [LG] Pb pour quitter un jeu (revenir au menu à la fin)
    Bonsoir!!
    J'aimerais savoir si quelqu'un peut me dire comment faire pour retourner à une page de présentation quand on a : soit perdu, soit gagné ,soit quitté en cours de partie.
    En fait mon jeu se compose d'une première page de presentation
    on peut alors acceder a trois niveaux de jeu.
    Chaque niveau à une page de presentation .a partir de la on peut soit jouez , soit retourner au menu principal , soit lire les instructions.

    J'ai reussi a faire retourner au menu principal a partir de ces pages de presentation , et pour les instructions aussi.
    Mais je n'y arrive pas pour le jeu.

    je pense que c'est parceque la partie de jeu , où on joue, c'est des boucles(repeat...until)

    Merci d'avance pour vos réponses.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    Pas facile de t'aider...

    1) As-tu défini des procedures ou des fonctions pour structurer ton programme ?

    2)
    je pense que c'est parceque la partie de jeu , où on joue, c'est des boucles(repeat...until)
    Quelle est ta condition après le until ?

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Dans tes jeux, tu as donc des boucles qui gerent la partie.
    Tu as bien une condition d'arret de la boucle qui determine une victoire ou un echec? Apres cette condition (quand ta partie est finie donc et fais
    et tu fermes tes formes annexes.
    Normalemet ce devrait suffire.
    A plus

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    oui j'ai des procedures et fonctions.

    Pour chaq nivo ca fait

    repeat
    repeat
    effaceballon(i)
    i:=i+1
    dessineballon
    until keypressed or f=0(plus de fleches)

    case of...(touches pour fleches-1,une autre pour tirer les fleches,
    une autre pour quitter<-la je voudrai retourner au menu
    mais je retourne au prgm)
    qd plu de fleche(perd)

    until compter=0(tous les ballons crevés)
    ->la on gagne dc retour au prgm(la aussi je voudrai revenir au menu)


    voilà ça donne à peu près ça , mais c'est un peu long pour copier-coller ici

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    Quand prends-tu en compte l'appui sur 'Quitter' dans tes until ?

    Je te laisse réfléchir à une structure du jeu qui ressemblerait à ceci (les variables machinOk sont de type boolean):

    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
    procedure JouerNiveau1;
     
    begin
    sortieOk &#58;= false;
    repeat 
       repeat 
       effaceballon&#40;i&#41; 
       i&#58;=i+1 
       dessineballon 
    if keypressed then
       begin
       readKey&#40;choix&#41;;
       case of... &#123;choix&#125;
          &#123; cas toucheFlecheTiree, tu fais f &#58;= f - 1; et je ne sais quoi &#125;
          &#123; cas toucheQuitte,  sortieOk &#58;= True; &#125;
          end;
       end;
    &#123; teste le gain &#125;
    if compter=0 then
       begin
       &#123; petit message, marseillaise, ... pour avertir le joueur qu'il a gagné &#125;
       sortieOk &#58;= true;
       end;
    &#123; teste la perte &#125;
    if f = 0 then
       begin
       &#123; petit message, marche funèbre, ... pour avertir le joueur qu'il a perdu &#125;
       sortieOk &#58;= true;
       end;
    until SortieOk;
    end;

    et le programme principal ressemblerait à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    begin
    &#123; Initialiser le jeu ici&#58; score, ... &#125;
    FinJeuOk &#58;= false;
    repeat
        Afficher menu;
        demander choix;
        if choix = '1' then JouerNiveau1;
        if choix = '2' then JouerNiveau2;
    until choix = 'Q';  &#123;Option quitter &#125;
    end;

    J'ai pas trop compris quand tu fais avancer les fléches et si tu as une procedure par niveau ou une seule procédure avec un paramètre... mais bon cette structure devrait fonctionner.

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup.
    Je vais surement te poser une question idiote mais il ne faut pas un deuxieme until dans la procedure jouernivo1? ou je ne l'ai pa vu.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    Rassures toi: je n'ai jamais considéré qu'il y avait des questions idiotes.

    Effectivement, il y a un bug: les joies du copier/coller allié à une relecture trop rapide . Dans mon esprit, il n'y a qu'un Repeat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    begin 
    sortieOk &#58;= false; 
    repeat 
        effaceballon&#40;i&#41; 
       i&#58;=i+1 
       dessineballon
    De plus, c'est juste une piste sans test. A toi d'adapter...

  8. #8
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    merci pour ta reponse!
    je vais essayer de ce pas!

    Sinon je fai avancer mes fleches en , quand l'utilisateur a appuye sur '0',
    faisant a nouveau le cycle efface/dessine ballon mais en ajoutant le dessin de la fleche par alternance!! ca clignote mais bon c'est suffisant pr le projet qu'on doit faire!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant]Information pour developpement de jeu
    Par dextranima dans le forum Débuter
    Réponses: 13
    Dernier message: 18/12/2005, 19h31
  2. Cherche Composant pour développer un jeu sous DELPHI 6 ?
    Par baltagi dans le forum Composants VCL
    Réponses: 1
    Dernier message: 26/11/2005, 13h25
  3. aide pour créer un jeu
    Par cstefany dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/10/2005, 04h51
  4. [os] une touche pour quitter
    Par Shaika-Dzari dans le forum Général Python
    Réponses: 6
    Dernier message: 28/08/2005, 21h03
  5. Réponses: 3
    Dernier message: 27/04/2005, 18h52

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