5 réflexions au sujet de “[LUA] Système solaire procédural”
C’est compliqué ce que tu as fait 😉
Dans ma version, pour regarder s’il y a collision je me sers de la distance au soleil de chaque planète. Je fais la différence entre les deux distances, je prends la valeur absolue, et si cette valeur est inférieur à la somme des rayons des deux planètes, alors la planète n’est pas créée (la création n’est pas visible dans le code suivant car elle se fait après, en fonction de la valeur de la variable ‘collision’):
local collision = false
for _, planet in ipairs(listPlanets) do
..local d = math.abs(planet.d – newPlanet.d)
..if d https://pastebin.com/NNJbfvKS
Le message est mal passé. Apparemment un problème avec le signe supérieur / inférieur, donc je ne peux pas mettre le code. Je te mets le lien vers le pastebin de ma version: https://pastebin.com/NNJbfvKS
PS: Un petit conseil, prend l’habitude d’utiliser des variables locales car tu risques d’avoir des comportements non voulues si plusieurs variables portent le même nom 😉
En faite, on parle plus ou moins de la même chose, pour vérifier la collision, je mettais plusieurs conditions avec effectivement la distance soleil planète (si les cercles se croisent alors il y a collision).
Merci pour le rappel et local. La je mettais des variables comme ça pour tester, mais en effet, elles sont de nouveaux en local. Merci de suivre mon projet, c’est trop cool d’avoir l’avis des autres et de sentir que ca intéresse. Je vais lire ton code et le comparer et je te ferais un retour ! Merci à toi.
Tu codes depuis longtemps ? Ta l’air de maîtriser les boucles toi ^^… Je suis envieux.
Depuis environ 5 ans en amateur, mais je n’ai jamais fait de gros projets (d’où ma galère lorsque le code dépasse la centaine de lignes ;)) .
J’ai appris les boucles grâce à python qui fonctionne (à peu près) de la même façon. Faut juste savoir qu’on peut parcourir une table grâce aux indices (ce que tu fais avec la boucle ‘for’ numérique) mais on peut aussi récupérer directement les valeurs (et les indices) grâce à ‘pairs’ et ‘ipairs’ et une boucle ‘for’ générique.
Mais t’inquiète, ce n’est pas vraiment compliqué à comprendre :).
Il suffit juste de faire quelques tests dans la console (avec des toutes petites tables) pour comprendre comment ça fonctionne 😉
5 réflexions au sujet de “[LUA] Système solaire procédural”
C’est compliqué ce que tu as fait 😉
Dans ma version, pour regarder s’il y a collision je me sers de la distance au soleil de chaque planète. Je fais la différence entre les deux distances, je prends la valeur absolue, et si cette valeur est inférieur à la somme des rayons des deux planètes, alors la planète n’est pas créée (la création n’est pas visible dans le code suivant car elle se fait après, en fonction de la valeur de la variable ‘collision’):
local collision = false
for _, planet in ipairs(listPlanets) do
..local d = math.abs(planet.d – newPlanet.d)
..if d https://pastebin.com/NNJbfvKS
Le message est mal passé. Apparemment un problème avec le signe supérieur / inférieur, donc je ne peux pas mettre le code. Je te mets le lien vers le pastebin de ma version: https://pastebin.com/NNJbfvKS
PS: Un petit conseil, prend l’habitude d’utiliser des variables locales car tu risques d’avoir des comportements non voulues si plusieurs variables portent le même nom 😉
En faite, on parle plus ou moins de la même chose, pour vérifier la collision, je mettais plusieurs conditions avec effectivement la distance soleil planète (si les cercles se croisent alors il y a collision).
Merci pour le rappel et local. La je mettais des variables comme ça pour tester, mais en effet, elles sont de nouveaux en local. Merci de suivre mon projet, c’est trop cool d’avoir l’avis des autres et de sentir que ca intéresse. Je vais lire ton code et le comparer et je te ferais un retour ! Merci à toi.
Tu codes depuis longtemps ? Ta l’air de maîtriser les boucles toi ^^… Je suis envieux.
Depuis environ 5 ans en amateur, mais je n’ai jamais fait de gros projets (d’où ma galère lorsque le code dépasse la centaine de lignes ;)) .
J’ai appris les boucles grâce à python qui fonctionne (à peu près) de la même façon. Faut juste savoir qu’on peut parcourir une table grâce aux indices (ce que tu fais avec la boucle ‘for’ numérique) mais on peut aussi récupérer directement les valeurs (et les indices) grâce à ‘pairs’ et ‘ipairs’ et une boucle ‘for’ générique.
Mais t’inquiète, ce n’est pas vraiment compliqué à comprendre :).
Il suffit juste de faire quelques tests dans la console (avec des toutes petites tables) pour comprendre comment ça fonctionne 😉