Pour vos problème ou demande d'aide concernant la création de jeux avec GDevelop.
By pppplus
#65126 Bonjour

Je débute su Gdevelop, et j'ai l'impression de bloquer sur un problème tout bête.

Je cherche à enregistrer des positions dans un tableau.

Je crée une boucle qui se répète 500 fois (pour la position en Y)
Je crée une boucle à l'intérieur qui se répète 3 fois (pour la position en X)

Je tire une valeur Rand au hasard, et en fonction de sa valeur, j'attribue 0,1,2 ou 3 à la position X,Y

Mais quand je teste mon tableau de positions, tout est à 0, 1, 2 ou 3.

Je vous colle mon bout de code, j'ai probablement une erreur d'enchainement d'actions/conditions.
J'ai 2 capture, une avec la boucle, et une pour afficher le résultat.

PS : on peut faire l'équivalent de elseif sur Gdevelop ? ça éviterait de retester des conditions
Merci d'avance pour votre aide.
Attachments
capt2.jpg
capture 2
capt2.jpg (17.38 KiB) Viewed 3737 times
capt1.jpg
capture 1
capt1.jpg (58.85 KiB) Viewed 3737 times
By KaKi
#65435 Bonjour
Je propose une 1ère chose à vérifier : les tableaux n'existent pas dans GD les variables sont soit une simple valeur soit une structure.
Dans le cas d'une structure les sous-variables sont nommées et pas indexées numériquement.
Pour simuler un tableau on peut utiliser une structure avec des chaînes comme index.
positions["1"]["3"] au lieu de positions[1][3]

... Si j'ai bien compris l'article ci-dessous
http://wiki.compilgames.net/doku.php/gdevelop/tutorials/simulatingdynamicarrayswithstructurenotation
By pppplus
#65436 Salut, merci

Oui, en effet, j'avais fini par trouver...
Pas intuitif pour moi, mais on s'y fait.

Du coup, j'ai des trucs du genre :
positions[ToString(Variable(L))]["0"]

Je trouve ça un peu lourd, mais c'est une habitude à prendre.
By KaKi
#65465 Je suppose un peu de performance gagnée. Mais je n'ai pas fait le test.
Par principe si une fonction native existe il vaut mieux l'utiliser.