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

une grille et détection de cases...

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
]sliman[
]sliman[
Niveau 35
19 mai 2017 à 15:18:31

Salut,
J'ai une grille de disons 10x10, ce qui fait 100 cases. Je place disons 10 objets aléatoirement dans les cases. Il ne peut y avoir qu'un seul objet par case. Quel algorithme je pourrais coder pour que chaque objet puisse détecter s'il existe un objet dans une des cases qui lui sont adjacentes ?

Je code un petit jeu dans lequel un chemin est aléatoirement créé sur une grille. Le joueur peut se déplacer de case en case mais seulement sur les cases où il y a un terrain(pas sur les cases vides) et il ne peut se déplacer que sur les cases adjacentes(il ne peut pas sauter des cases), tout ça en utilisant la souris. Donc j'ai besoin de coder un système qui me permette de détecter les cases adjacentes sur lesquelles le joueur peut se déplacer(qui possèdent donc un terrain et qui sont directement adjacentes)..

Ma première idée était d'enregistrer dans quelle case un terrain a été déposé, puis de tester cette information au moment ou le joueur veut se déplacer, mais ça ne m'aide au final pas beaucoup. J'en suis au point ou j'imagine une solution plus simple : créer un 50aine de chemins pré-construits et les réutiliser aléatoirement..

En pratique, le joueur passe la souris sur une case et seulement les cases ou le déplacement est possible sont mises en évidence par un halo lumineux.

Je code en c# sur unity.

Par quel bout prendriez-vous le problème ?

Merci à vous.

godrik
godrik
Niveau 30
19 mai 2017 à 15:55:59

Bah il y a deux solutions typiquement. Soit tu as une liste d'objet que tu parcours pour voir si il y a une collision. Soit tu gardes dans la case une reference sur l'objet qui est dans cette case en particulier.

arsh222
arsh222
Niveau 10
19 mai 2017 à 16:06:19

Ben si le joueur est sur la case [x,y], tu vérifies les cases [x-1,y]    [x+1,y] [x,y-1] [x,y+1]

Non ?

ouimaisquoi
ouimaisquoi
Niveau 8
19 mai 2017 à 18:30:41

Il faut faire une grille virtuelle (un tableau) :tableau(x,y)=état (plein=1; vide = 0; et tu peux avoir une infinité d'états (perso1; perso 2...ext)).
Tu peux aussi mettre en chaîne, mais perso je ferais avec un tableau.
Si tu fais en chaîne, il faut stocker à part les rangs (mot N°...) des débuts de lignes (c'est comparable au concept d'adressage (c'est un vrai bazar)), pour refaire du: "x,y"

Message édité le 19 mai 2017 à 18:35:24 par ouimaisquoi
]sliman[
]sliman[
Niveau 35
20 mai 2017 à 14:02:45

merci pour vos idées, je réfléchis à tout ça :-)

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