5 réponses
undercrix
Messages postés
1
Date d'inscription
mardi 30 octobre 2012
Statut
Membre
Dernière intervention
30 octobre 2012
2
30 oct. 2012 à 20:19
30 oct. 2012 à 20:19
Salut, je suis nouveau sur le forum mais j'ai déjà pas mal programmé sur TI
Tout dépend si tu utilise la fonction "output(" ou bien si tu est dans les dessins.
Pour la fonction output, tu dois sois bloquer l'accès a la case, soit la faire apparaître de nouveau derrière le passage de pacman. Si tu utilise les dessins (graphique si tu préfère ^^) ce que je pense plus noble pour un jeu tel que pacman, sache que chaque objet type texte efface les pixels visibles a leurs droite et au dessus d'eux. En clair si tu veut que ta ligne ne s'efface pas, tu peut soit la faire réapparaître, soit empêcher pacman de s'y approcher a moins d'un pixels de cette ligne ;)
Et si tu a toujours pas compris (vue que je suis un trèèèèès mauvais prof) voici un petit schema pour t'expliquer les objets de type texte :
Exemple avec la lettres A
O=pixels ON
N=pixels OFF (mais faisant partit de l'objet)
NNNN
OOON
ONON
OOON
ONON
ONON
J'espère t'avoir aider =)
Si tu a besoin de plus d'aide je suis la =)
Tout dépend si tu utilise la fonction "output(" ou bien si tu est dans les dessins.
Pour la fonction output, tu dois sois bloquer l'accès a la case, soit la faire apparaître de nouveau derrière le passage de pacman. Si tu utilise les dessins (graphique si tu préfère ^^) ce que je pense plus noble pour un jeu tel que pacman, sache que chaque objet type texte efface les pixels visibles a leurs droite et au dessus d'eux. En clair si tu veut que ta ligne ne s'efface pas, tu peut soit la faire réapparaître, soit empêcher pacman de s'y approcher a moins d'un pixels de cette ligne ;)
Et si tu a toujours pas compris (vue que je suis un trèèèèès mauvais prof) voici un petit schema pour t'expliquer les objets de type texte :
Exemple avec la lettres A
O=pixels ON
N=pixels OFF (mais faisant partit de l'objet)
NNNN
OOON
ONON
OOON
ONON
ONON
J'espère t'avoir aider =)
Si tu a besoin de plus d'aide je suis la =)
Tant pis, merci quand même...
tu décris correctement ton problème en tout cas
au hasard, tu pourrais essayer de ne pas faire jouer sur la ligne ? après tout il faut bien commencer par s'occuper du jouable, ce niveau de détail passe après...
je me souviens que sur ma TI-84 il y a une fonction pour "allumer" et "éteindre" un pixel (Pxl-on et Pxl-off), mais les 82 stats ou 83 ne l'ont peut-être pas.
mm mais sinon je pense qu'il y a des forums spécialisés sur TI
(P.S. : j'ai lu ton message, mais entre temps, j'ai été voir l'article "Pac Man" sur Wikipédia, qui est mentionné, dit-il, dans le film Sans Soleil de Chris Marker, que j'ai du coup vu, et ça m'a fait oublier ton message. Voilà, deux jours de retard et ce message ne sera jamais lu, pff.)
au hasard, tu pourrais essayer de ne pas faire jouer sur la ligne ? après tout il faut bien commencer par s'occuper du jouable, ce niveau de détail passe après...
je me souviens que sur ma TI-84 il y a une fonction pour "allumer" et "éteindre" un pixel (Pxl-on et Pxl-off), mais les 82 stats ou 83 ne l'ont peut-être pas.
mm mais sinon je pense qu'il y a des forums spécialisés sur TI
(P.S. : j'ai lu ton message, mais entre temps, j'ai été voir l'article "Pac Man" sur Wikipédia, qui est mentionné, dit-il, dans le film Sans Soleil de Chris Marker, que j'ai du coup vu, et ça m'a fait oublier ton message. Voilà, deux jours de retard et ce message ne sera jamais lu, pff.)
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié par [Dal] le 12/07/2012 à 10:56
Modifié par [Dal] le 12/07/2012 à 10:56
Salut,
Je ne sais pas s'il y a des spécialistes de cette machine et du basic qu'elle utilise (je ne connais ni l'un ni l'autre) sur le forum.
Il y a des chances cependant que ton problème soit un problème d'algorithme.
Il n'y a aucune raison d'effacer quoi que ce soit si le bonhomme arrive aux limites, ou essaye de bouger sur une position où il n'est pas sensé pouvoir aller.
Dal
Je ne sais pas s'il y a des spécialistes de cette machine et du basic qu'elle utilise (je ne connais ni l'un ni l'autre) sur le forum.
Il y a des chances cependant que ton problème soit un problème d'algorithme.
Il n'y a aucune raison d'effacer quoi que ce soit si le bonhomme arrive aux limites, ou essaye de bouger sur une position où il n'est pas sensé pouvoir aller.
+----------------------+ non +----->| touche de direction ?|+------------------+ | +----------------------+ | | oui + | | v | | +----------------------------------+ | | |(si touche gauche et curX>1) ou | | | |(si touche haute et curY>1) ou | non | | |(si touche droite et curX<maxX) ou|+--------->| | |(si touche basse et curY<maxY) ou | | | |(si touche direction vers mur) ou | | | |(autres cas, ou malgré la touche | | | | pressée, on ne bouge pas) ... | | | +----------------------------------+ | | oui + | | v | | +------------------------+ + | | Efface sprite Pacman | +----------------+ | | | |Fait autre chose| | | Change ses coordonnées| +----------------+ | | | + | | Affiche sprite Pacman | | | +------------------------+ | | + | | v | +-------------------------------------------------+
Dal
Tout d'abord, merci pour vos réponses,
Donka-> Effectivement, j'ai une fonction pxl-On, et une autre pxl-Off, mais elles ne permettent pas de bloquer un pixel, juste de l'allumer, ou de l'éteindre: si une autre fonction a ensuite besoin de ce pixel, elle peut l'allumer, ou l'éteindre.
Dal->En fait, ce n'est pas une question de bouger le packman sur une position où il n'est pas sensé pouvoir aller, mais simplement que s'il y a un mur à sa droite(ou au dessus de lui), il l'efface en partie en s'affichant:
Ex:
__________________________________________________
|..............................P....| "Touche de droite"|.........................P ->Cette paroi
|....................................| ---------------------> |...........................| s'efface
Je vais donc chercher un forum spécialisé sur ma calculette, comme vous me l'avez conseillé. Au pire, je n'utiliserais pas les text-sprites, et me contenterais d'utiliser des pxl-On.
Merci encore, et bonne journée!
PS: pour ceux que ça intéresserais, si je trouve une solution autre que celles mentionnées plus haut, je la posterais ici ;)
Donka-> Effectivement, j'ai une fonction pxl-On, et une autre pxl-Off, mais elles ne permettent pas de bloquer un pixel, juste de l'allumer, ou de l'éteindre: si une autre fonction a ensuite besoin de ce pixel, elle peut l'allumer, ou l'éteindre.
Dal->En fait, ce n'est pas une question de bouger le packman sur une position où il n'est pas sensé pouvoir aller, mais simplement que s'il y a un mur à sa droite(ou au dessus de lui), il l'efface en partie en s'affichant:
Ex:
__________________________________________________
|..............................P....| "Touche de droite"|.........................P ->Cette paroi
|....................................| ---------------------> |...........................| s'efface
Je vais donc chercher un forum spécialisé sur ma calculette, comme vous me l'avez conseillé. Au pire, je n'utiliserais pas les text-sprites, et me contenterais d'utiliser des pxl-On.
Merci encore, et bonne journée!
PS: pour ceux que ça intéresserais, si je trouve une solution autre que celles mentionnées plus haut, je la posterais ici ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour ta réponse!
Ce sujet datte un peu, je l'avais oublié, mais je viens de tomber dessus par hasard. J'ai posé cette question sur des forums de ti, et j'ai beaucoup appris depuis (même si j'ai finalement pas fini mon pacman,je m'y remettrais sûrement plus tard, mais en Asm cette fois)
Donc on m'avait bien expliqué la raison de mon problème, mais merci quand même de ton aide ^^
PS: j'utilisais effectivement l'écran graphique, et pas la fonction Output
Ce sujet datte un peu, je l'avais oublié, mais je viens de tomber dessus par hasard. J'ai posé cette question sur des forums de ti, et j'ai beaucoup appris depuis (même si j'ai finalement pas fini mon pacman,je m'y remettrais sûrement plus tard, mais en Asm cette fois)
Donc on m'avait bien expliqué la raison de mon problème, mais merci quand même de ton aide ^^
PS: j'utilisais effectivement l'écran graphique, et pas la fonction Output