CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Snake, effacement apres la queue

[Kakuzu]2
[Kakuzu]2
Niveau 34
10 avril 2014 à 20:11:10

Bonsoir,

je suis en train de travailler sur un Snake et j'ai quasiment tout finit sauf les collisions et le fait que mon snake laisse des traces derriere lui au lui de s'effacer.

Voici mon code pour la partie du snake :
http://pastebin.com/qr091iHt

Petit résumé : J'ai crée la map avec un tableau, et je remplis certaines cases de couleur pour la pomme, les bords ou le serpent

Le problème que j'ai compris est que je demande à ce que la case qui est [(au niveau de la tête) + (la taille du serpent)] soit effacer. Ca change suivant la direction mais en gros quand mon serpent avance il s'efface bien.

Le problème est là, quand je tourne il continue à effacer son extremité comme j'ai dit sauf que son corps n'a pas finit de tourner, donc il n'est pas effacer et les traces viennent de là : dès que je tourne le bout qui n'a pas tourner reste sur la map (à moins que je vienne par dessus l'effacer).

Je ne trouve aucun moyen pour résoudre ce problème, ca fait longtemps et j'ai cherché beaucoup de moyen (vecteur ? Plusieurs variables qui retiennent la case et avec un délai ...etc) mais rien n'est possible, du moins pour mon niveau basique.

:merci:

dark_drow
dark_drow
Niveau 15
10 avril 2014 à 20:27:30

perso naïvement je mettrais tout dans une linkedlist, et a chaque itération (chaque mouvement) je ferais :

1- ajout la nouvelle coordonnée en tete de liste
1(bis)- éventuel bonus pour s'agrandir le snake de 1
2- suppression des coordonnées inutiles dans la liste (si ton snake a une taille de 1, tu garde que la 1ere cellule, si ton snake fait 2, que les 2 premieres...)
3- affichage a l'écran des coordonnées stokées dans la liste (le snake)
4- test de la collision

[Kakuzu]2
[Kakuzu]2
Niveau 34
11 avril 2014 à 22:21:52

Je n'y arrive pas avec la méthode LinkedList, je ne comprends pas le fonctionnement de cette méthode.
Mon snake n'est représenté que par des coordonnées, il faut donc les mettres dans le LinkedList ? (g[][])
Et je n'ai pas réussi à faire appel à ces valeurs ou autre, je ne trouve pas de guide sur internet qui réponde à mes besoins.

Je n'ai pas de cours ou autre donc c'est assez difficile.

Merci

Ordi94
Ordi94
Niveau 10
12 avril 2014 à 09:56:55

Salut, j'avais trouvé une fois ce tuto, il a l'air pas mal ça pourrait t'aider :d) http://michel-douez.developpez.com/articles/java/snake/

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment