Pacman |
Auteur |
Message |
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Mar 29 Jan 2008, 15:15
|
|
|
Voia c'est encore moi. J'ai fait en grande partie un pacman et j'aimerais savoir si je pouvait faire avance mon personnage qui se composent de 20 points dans les quatre direction snas passer par des milliard de "point off" et des "L1(1),L1(2)..." enchaine a la suite car cela rend le jeu trop lent.
Mon jeu:
C'est le principe d'un pacman. On est une sorte de "bouche-smilley" et on doit recuper des point. Pour l'instant je n'est mis qu'un seule enemis(il en faudrait 3)et le probleme qui se pose est que mon bonhomme met de 1 a 2 seconde apres que j'ai appuyer sur une touche directionnel pour se deplacer.
Merci d'avance.
JC78. 
|
 |
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 29 Jan 2008, 16:00
|
|
|
Il y a un moyen pour que les pt-off disparaissent: utiliser uene boucle avec for ce qui raccourcirait le programme.
Pour éviter les listes, je ne voit qu'un moyen: faire varier les coordonées du pacman et des ennemis et lorsqu'elles sont égales, envoyer au label de la défaite. Par contre, je ne voit pas comment tu pourrait ne pas les utilisées pour définir les coordonées des points à manger.
Enfin, si ton pacman est lent, c'est parcequ'entre le moment ou tu appuye et le moment ou il bouge, la calculette effectue beaucoup de calculs/boucles.
Sangohan38
|
 |
|
|
Ratuss
Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
|
Posté le : Mar 29 Jan 2008, 19:07
|
|
|
si tu mets une boucle for ce sera beaucoup plus lent.
(sinon je vois pas non plus pourquoi tu utilises des listes ? )
---------------------- --- LISTE DES JEUX POUR TI --- |
 |
|
|
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Mer 30 Jan 2008, 12:29
|
|
|
Merci. Les liste que j'utilise,2 au total pour un perso, permet de reperer les 20 points qui composent mon perso.L1 code les x et L2 definit les y.
ex: si je veux aller a droite(codetouche donne y):
Code | If Y=26:then:pt-off(L1(1)-A,L2(1)-A:...pt-off(L1(20)-A,L2(20):end |
Au prealable if Y=26:L1(1)+A donne L1(1)
Avec A=8
Sachant qu'a la fin il y a
Code |
pt-on(L1(1),L2(1):...pt-on(L1(20),L2(20)
|
Pour resume les points definisent mon perso,donc si je n'utilise pas de liste pour eux comment est ce qu'il seront definit.
(Mon jeu tourne sur le dessin et non sur ecran de calcul que l'on a lors que l'on allume sa calculette.
Merci. 
|
 |
|
|
coc5
Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Mer 30 Jan 2008, 14:12
|
|
|
A moins de programmer en Assembleur Z80 tu ne pourras jamais avoir un jeu fluide avec un dessein de plus de deux lignes (en faîte le mieux est d'utiliser le troisième argument de Pt-On et d'y mettre 2 ou 3).
---------------------- Ne cliquez pas ici ! |
 |
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mer 30 Jan 2008, 15:52
|
|
|
Effectivement, le pt-change permettera de canger les pixels actuelles et ensuite, de les remettres à un autre endroit.
Sangohan38
|
 |
|
|
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Jeu 31 Jan 2008, 10:10
|
|
|
Merci.
Citer | le pt-change permettera de canger les pixels actuelles |
par canger tu entendais changer

|
 |
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 31 Jan 2008, 12:55
|
|
|
Effectivement, c'est une erreur de frappe de ma part.
Sangohan38
|
 |
|
|
coc5
Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Jeu 31 Jan 2008, 19:31
|
|
|
Citer : Sangohan38 | Effectivement, le pt-change permettera de canger les pixels actuelles et ensuite, de les remettres à un autre endroit.
Sangohan38 |
Je ne parlais pas de ça mais de, par exemple :
---------------------- Ne cliquez pas ici ! |
 |
|
|
Ratuss
Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
|
Posté le : Jeu 31 Jan 2008, 20:04
|
|
|
non compatible avec les 82 par contre...
---------------------- --- LISTE DES JEUX POUR TI --- |
 |
|
|
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Ven 01 Fév 2008, 10:16
|
|
|
Si je met:
Dans ce cas là le perds mon perso(compose de 20 points) pour le remplacer par un "2" ?
En fait pour les pt-off je les ait remplacer par:
Code |
:If Y=26
:then
:texte(62-L2(13),L1(9)," "
:texte(63-L2(13),L1(9)," "
:end
|
(L1 pour les x, L2 pour les Y)

|
 |
|
|
coc5
Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Ven 01 Fév 2008, 10:21
|
|
|
Citer : Ratuss | non compatible avec les 82 par contre... |
Je ne le savais pas...
Pt-On(A,B,2 n'affichera pas un deux mais un dessin.
---------------------- Ne cliquez pas ici ! |
 |
|
|
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Sam 02 Fév 2008, 18:12
|
|
|
Je l'ai tester et sa affiche en effet un "carre" ou un "plus".
Les "textes" donneront ils le meme resultat?
ex:

|
 |
|
|
Ratuss
Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
|
Posté le : Sam 02 Fév 2008, 18:45
|
|
|
non : ils sont légerement plus lents d'une part, et de plus il y a un "masque blanc" qui s'affiche derrière.
---------------------- --- LISTE DES JEUX POUR TI --- |
 |
|
|
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Sam 02 Fév 2008, 19:04
|
|
|
Merci. Pour l'espace blanc ce n'est pas un probleme etant donné qu'il y a un espace de 2 a 3 points entre les persos et les murs.
Le probleme qui se pose maintenant est les nombreuses conditions que mon jeu inclut pour rendre aleatoire et autonome les trois enemis.
(Je posterais bientot le code de ces conditions pour voir s'il elles sont simplifiables pour rendre le jeu plus fluide, le temps que je l'ai recopie.)
JC78. 
|
 |
|
|
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Dim 03 Fév 2008, 18:10
|
|
|
Voila une partie du code de mon jeu pacman que je n’arrive pas à simplifier pour rendre mon jeu plus fluide.
Paramètre :
Les ennemis peuvent traverser les murs pour la fluidité du jeu.
Chaque ennemis est autonome et avance selon une logique : l’aleatoire. (Faire un algorithme en fonction ma position me semble trop élevé (au niveau condition) pour que cela soit possible tout en gardant une vitesse de jeu correct. (Il peut sembler court mais n’est pratiquement compose que de conditions qui ralentissent mon jeu.).
Code | :enAleat(1,4)#C
:While 1
:Codetouche#Y
:If C=1:then:1#D:2#E:enAleat(2,4)#C:end
:If C=2:then:2#D:4#E:enAleat(1,3)#C:end
:If C=3:then:3#D:1#E:enAleat(2,4)#C:end
:If C=4:then:4#D:3#E:enAleat(1,3)#C:end
:If D=1 et Q<84 et Q>0:Q+A#Q
:If E=1 et O<84 et O>0:O+A#O
:If D=2 et V>0 et V<46:V+A#V
:If E=2 et T>0 et T<46:T+A#T
:If D=3 et V>8 et V<62:V-A#V
:If E=3 et T>8 et T<62:T-A#T
:If D=4 et Q>8 et Q<94:Q-A#Q
:If E=4 et O>8 et O<94:O-A#O
:If D=1:Texte(V,Q-A,” “
:If E=1:Texte(T,O-A,” “
:If D=4:Texte(V,Q+A,“ “
:If E=4:Texte(T,O+A,” “
:If D=3:Texte(V+A,Q,“ “
:If E=3:Texte(T+A,O,” “
:If D=2:Texte(V-A,Q,“ “
:If E=2:Texte(T-A,O,” “
:Texte(V,Q,”+“
:Texte(T,O,”+“
:End
:End
|
Précisions :
# donne STO(le flèche).
les caese noires represente des guillemets.
Il y a trois espace entre les guillemets.
Cette partie de code ne donne que 2 ennemis représenter par des »+ ».
(En effet pour en mettre plus il suffit de rajouter trois variables.)
Ceci n’est pas le code dans sa version entière.
La variable A est égale a 8 ( elle est fixe pendant tout le jeu.)
JC78. 
|
 |
|
|
Ratuss
Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
|
Posté le : Dim 03 Fév 2008, 18:23
|
|
|
a mon avis tu dois pouvoir enlever tous les if.
juste pour savoir, il prend combien en taille ton prog ?
---------------------- --- LISTE DES JEUX POUR TI --- |
 |
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Dim 03 Fév 2008, 18:28
|
|
|
D'après ce que je viens de voir, tu peut alléger.
Tout d'abord, on voit que selon les valeurs de C, on met les mêmes dans D donc au lieu de:
Citer | If C=1:Then:1->D ... |
Cela donne:
Ensuite, pour les entléat, il y à qu'une conditon différente donc au lieu de:
Citer | If C=1:Then:...:entAléat(1,3):End
...
If C=3:Then:...:entAléat(1,3):End |
On obtient:
Citer | If C=(1 ou 3):entAléat(1,3) |
Enfin, pour les dernières lignes, c'est impossible d'alléger sauf si tu nous donne plus de détail.
Sangohan38
|
 |
|
|
Ratuss
Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
|
Posté le : Dim 03 Fév 2008, 18:47
|
|
|
Code | :If C=1:then:1#D:2#E:enAleat(2,4)#C:end
:If C=2:then:2#D:4#E:enAleat(1,3)#C:end
:If C=3:then:3#D:1#E:enAleat(2,4)#C:end
:If C=4:then:4#D:3#E:enAleat(1,3)#C:end |
sauf que les valeurs de D et E sont differentes
---------------------- --- LISTE DES JEUX POUR TI --- |
 |
|
|
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Dim 03 Fév 2008, 19:09
|
|
|
Totalement aboutis il devrait faire entre 3000 et 4000 octet.
Dont 2000 pour les conditions de déplacements de mon perso.
Il se compose de 5 programmes :
Un programme maitre et quatre sous programmes.
Les sous programmes définissent les conditions de déplacements de mon perso (4 au total.)
Les E et D sont différents pour éviter que les ennemis ne fassent la même chose.
Je posterais bientôt le programme dans sa totalité. Peut être demain..
JC78. 
|
 |
|
|