Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tableau et personnage

18 septembre 2016 à 20:12:58

Bonjour/bonsoir !

Je viens m'en remettre à vous parce que je n'arrive pas à comprendre comment depuis la création d'un tableau, on peut déplacer le personnage avec [i][j] etc.. J'ai déjà regardé des tutos mais ca ne me parait pas clair, comment les position .x et .y peuvent elles se transformer en  [i][j] qui correspondent aux cases d'un tableau x( ca fait un petit moment que je cherche en vain.

En vous remerciant ! 

  • Partager sur Facebook
  • Partager sur Twitter
19 septembre 2016 à 12:31:53

Bonjour,

Un tableau à deux dimensions te permet de dessiner une carte facilement :

Int tableau[3][3] = {(0, 0, 0),
                     (0, 1, 0),
                     (2, 2, 2)}


Ainsi tu as une carte de 9 case, et après tu détermine ce que tu veux à la place de tes nombres.
Par exemple, un 0 signifie de l'herbe, un 1 signifie mon héro, et un 2 signifie un mur.

Donc pour te déplacer sur ta carte tu modifie les valeurs de ton tableau, ton héro est actuellement en tableau[1][1] (2e ligne, 2e colonne).
Pour aller en haut, tu mets ton héro en tableau[0][1].

Ce qui donne :  

(0, 1, 0)
(0, 0, 0)
(2, 2, 2)

Au final les lignes de ton tableau deviennent des x et les colonnes des y.
Et pour se déplacer facilement on utilise des boucles for (d'où les i et j) 

-
Edité par nicolasgaillard 19 septembre 2016 à 12:33:40

  • Partager sur Facebook
  • Partager sur Twitter
20 septembre 2016 à 10:08:44

Merci beaucoup, je viens de comprendre le principe. Cependant je ne comprends pas comment une boucle for peut permettre de déplacer le personnage? Habituellement on fait ça avec des if(patatipatata){déplacer sur la case au dessus;} ?
  • Partager sur Facebook
  • Partager sur Twitter
20 septembre 2016 à 10:33:55

Hum en fait cela dépend comment fonctionne ta structure et ton type de jeu ^^

Mais c'est vrai qu'en général on va plus utiliser un switch pour déterminer la direction et un autre pour le déplacement.

  • Partager sur Facebook
  • Partager sur Twitter