Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arrêter une boucle après un temps donné

    4 janvier 2019 à 22:55:47

    Bonjour, je dois rendre un projet pour mon école qui est un jeu où les joueurs ont 1min pour jouer à tour de rôle. Et j'ai un problème avec cette condition. Tout d'abord voilà la partie de mon code qui me pose problème

     void Tour(Joueur j)
     {
          int tempsDebut = DateTime.Now.Minute;
          int tempsFin;
          bool stop;
          do
          {
     tempsFin = DateTime.Now.Minute; if (tempsDebut == 59) { stop = tempsFin >= 0; } else { stop = tempsFin >= tempsDebut + 1; } }while (!stop);



    Comme vous le voyez j'ai utilisé la classe DateTime pour déterminer quand la minute est passé mais j'ai un problème. En effet durant le Traitement du jeu l'utilisateur doit rentrer des mots à l'aide d'un Console.ReadLine(), or si l'utilisateur reste plus d'une minute sans rien rentrer ma boucle ne s'arrête pas car le booléen "stop" n'est pas tester. Ce que je voudrais c'est que quoi qu'il se passe ma boucle s'arrête après une minute.

    Voilà, merci d'avance pour vos réponses =)


    -
    Edité par CH922000 4 janvier 2019 à 22:59:34

    • Partager sur Facebook
    • Partager sur Twitter
      5 janvier 2019 à 0:43:46

      Salut,

      Pour commencer je te déconseille de te baser sur .Minute, en effet, si le joueur débute son tour a 59s de l'horloge il n'aura qu'une seconde pour jouer, pas super fair-play. Il est possible de faire des soustractions avec des DateTime, alors autant s'en servir !

      Sinon la vraie solution à ton problème c'est par ici => https://stackoverflow.com/questions/4821290/console-readline-break

      • Partager sur Facebook
      • Partager sur Twitter
      MysteryDash / 100 MPM / Développeur Freelance C#.NET / osu! / PS4 Offline Remote Play
        5 janvier 2019 à 13:22:12

        Ah oui effectivement j'avais pas pensé à ça, merci ;)

        • Partager sur Facebook
        • Partager sur Twitter

        Arrêter une boucle après un temps donné

        × 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