Partage
  • Partager sur Facebook
  • Partager sur Twitter

Quand tu créer un jeu

déroulement du jeu

    15 septembre 2017 à 10:10:42

    Bonjour, 

    Il y a une question que je me pose. Jusqu'a présent je ne fais que des petits jeu histoire de bien avoir la main sur le language. Donc quand j'ai un jeu où se trouve plusieur niveaux (map1,2,3,4) je gère ça d'une façon pas tres orthodoxe (je pense) et je me posais la question de savoir comment passer d'une map à l'autre sans utiliser une méthode de barbare du style:

    if leve01() == True:
        if level02() == True:
            if level03() == True:

    On peut voir que dans mon exemple je créer une condition ou j'appel mon premier niveau. Tant que ce dernier ne vaut pas True, alors le niveau est en cours (dès que le joueur a rempli la condition du level, alors level01 = True). Cette méthode est un peu barbare, et donc je me poser la question de savoir quelle autre méthode employer ce qui pourrais alléger mon code (actuellement j'ai que 3 scènes mais à la force ça va etre lourd pour le script)

    -
    Edité par MrToine63 15 septembre 2017 à 10:11:54

    • Partager sur Facebook
    • Partager sur Twitter
    Nooooooooooooooooooooooooooooooooooooooooon !!
    Anonyme
      15 septembre 2017 à 12:04:46

      Difficile de répondre correctement car la question est trop vague. Mais dans tous les cas pour éviter une telle imbrication de if, une boucle ou une itération fait toujours l'affaire :

      for level in levels:
          if not level():
              # Game Over
              break

      Mais je pense que le problème est ailleurs...

      • Partager sur Facebook
      • Partager sur Twitter
        15 septembre 2017 à 12:16:33

        Salut,

        Tu peux pas faire une liste de level et stocker juste le level en cours ?

        lvl_list = [lvl1, lvl2, lvl3 ...]
        
        current_lvl = 1  # index du level a incrementer
        
        while foo:
            load_lvl(lvl_list[current_lvl])
        .... if done: current_lvl +=1



        -
        Edité par coni63 15 septembre 2017 à 12:16:47

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          15 septembre 2017 à 14:26:20

          +1 Pour le problème est ailleurs... Il y a forcément un problème de conception, mais ne connaissant pas les tenants et les aboutissants, il est difficile de donner une solution.
          • Partager sur Facebook
          • Partager sur Twitter
            15 septembre 2017 à 14:43:49

            Bah disons que mon jeu est tout simple. On a une piece et il y a une porte avec une clé cacher quelque part dans la pièce. Si on trouve la clé et qu'on ouvre la porte alors on passe au level suivant (d'où les conditions imbriquée dans le main.py)
            • Partager sur Facebook
            • Partager sur Twitter
            Nooooooooooooooooooooooooooooooooooooooooon !!
            Anonyme
              15 septembre 2017 à 14:54:02

              Le problème se trouve dans les détails du chargement d'un level et comment il est représenté.
              • Partager sur Facebook
              • Partager sur Twitter
                15 septembre 2017 à 16:30:22

                MrToine63 a écrit:

                Bah disons que mon jeu est tout simple. On a une piece et il y a une porte avec une clé cacher quelque part dans la pièce. Si on trouve la clé et qu'on ouvre la porte alors on passe au level suivant (d'où les conditions imbriquée dans le main.py)

                Tu pourrais juste stocker le niveau actuel du joueur (un entier) plutôt que de tester s'il a validé le 1, puis le 2, puis le 3, etc... A priori si on est au niveau 3, c'est qu'on a déjà validé ceux d'avant.

                Et tu peux aussi arrêter d'utiliser des fonctions numérotée. Plutôt que d'avoir des fonctions level01, level02, etc... tu peux avoir une fonction level(1) (une fonction avec un paramètre).

                • Partager sur Facebook
                • Partager sur Twitter

                Blond, bouclé, toujours le sourire aux lèvres...

                Quand tu créer un jeu

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown