Partage
  • Partager sur Facebook
  • Partager sur Twitter

Programmation processing / Java du jeu SNAKE

Problème fluidité mouvement

    19 octobre 2018 à 17:25:03

    Bonjour,

    je programme actuellement un jeu snake sous processing et globalement le jeu fonctionne avec les fonctionnalités les plus élémentaires : déplacement des snakes qui peuvent être dirigés au clavier et j'enregistre les positions déjà occupées qui ne peuvent être à nouveau occupées.

    Mon problème réside dans la fluidité du jeu.

    Au départ, la FrameRate était de 60 images par seconde et les snakes se déplaçaient px par px.

    Ensuite, j'ai ajouté une grille et je souhaite que les joueurs se déplacent uniquement sur la grille (50 cases de 15px*15px) càd sans traverser les cases de la grille. J'ai donc fait en sorte que les snakes se déplacent case par case (15px à chaque mouvement). J'ai dû descendre le FrameRate à 4 pour que ce soit jouable. Mais en faisant cela, les snakes se déplacent de façon saccadé.

    J'ai donc envisagé 2 solutions :

    - revenir au déplacement px par px en 'temporisant' les changements de direction lorsque le joueur appuie sur une touche pour le programme attende que le snake ait atteint la fin d'une case pour tourner même si le joueur appuie entre 2 cases case

    - mettre en place une 'transition graphique' totalement indépendante du mouvement des snakes. En gros, il faudrait remplir px par px la case qui va être occupée par le snake en même temps que celui-ci se déplace dessus (en faisant un 'bond' de 15px donc). J'ai essayé de schématisé cette deuxième option ci-dessous.

    J'avoue que je bloque et ne sais pas trop laquelle des 2 solutions est la meilleur ni même comment les mettre en œuvre. J'ai essayé les 2 sans succès.

    Sans me donner le code (évidement) je suis preneur de conseils pour m'aider à avancer.

    • Partager sur Facebook
    • Partager sur Twitter

    Programmation processing / Java du jeu SNAKE

    × 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