Page 1 of 1

[TI 82]créé des mur dans un programme

Unread postPosted: 23 Sep 2015, 16:20
by tom koudlansky
Bon voila j'aimerais savoir si dans un programme il est possible de créé des mur dans un dessin, du genre vous avez un caractère qui se déplace grâce a la croix directionnelle, et lorsque il rencontre une ligne, il ne peut pas la franchir.

Re: [TI 82]créé des mur dans un programme

Unread postPosted: 23 Sep 2015, 16:51
by Adriweb
Exemple simple:
Si tu stockes la carte dans une matrice, par exemple (0 representant des endroits ou tu peux marcher, 1 des murs, 2 autre chose etc.), il suffit de verifier que la coordonée future (celle que tu calcules quand l'utilisateur appuie sur les flèches) X,Y ne corresponde pas à un "1" dans la matrice à la ligne Y, colonne X :) Si c'est bon, tu autorises le déplacement (selon comment t'as codé ça, ca peut être un Gogo au début d'une boucle, ou un sauf par dessus le stockage définitif des coordonées etc.) sinon non.

Re: [TI 82]créé des mur dans un programme

Unread postPosted: 23 Sep 2015, 17:00
by tom koudlansky
Merci Adriweb, je teste ça et je te donne le résultat.

Re: [TI 82]créé des mur dans un programme

Unread postPosted: 23 Sep 2015, 17:10
by Wistaro
Sinon tu peux générer ta map sans utiliser de matrice et détecter les pixels alentours avec la commande pxl-test(). L'inconvénient avec cette méthode, c'est que tu n'as seulement que 2 états pour ton obstacle. Mais bon, tu peux génèrer des maps plus complexes, et sans avoir des matrices qui te prennent 3/4 de la RAM :)

Re: [TI 82]créé des mur dans un programme

Unread postPosted: 23 Sep 2015, 17:31
by tom koudlansky
mais c'est long, faudrait définir tout les pixel allumé de la map a 1?

Re: [TI 82]créé des mur dans un programme

Unread postPosted: 23 Sep 2015, 17:33
by Epharius
Non, il y a la fonction Pixel-Test(X,Y) qui te retourne 1 si le pixel qui est à X;Y est allumé et 0 s'il est éteint. Ensuite tu peux l'empecher d'avancer par exemple.