| 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 : 3293
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 : 1522
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 : 879
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).
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
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 : 3293
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 : 879
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 :
|
 |
|
| |
ratuss
Autorisation : Membre
Nb de messages : 1522
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 : 879
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.
|
 |
|
| |
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 : 1522
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 : 1522
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 : 3293
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
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
ratuss
Autorisation : Membre
Nb de messages : 1522
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. 
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Lun 04 Fév 2008, 10:23
|
|
|
Attention aux sous-programmes, ils occupent rapidement la mémoire !
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Lun 04 Fév 2008, 12:54
|
|
|
Certe, ces valeurs sont différentes mais ce sera plus simple de mettre seulement des If C=4:1->E ... que de mettre des then et end qui ralentissent.
Sangohan38
|
 |
|
| |
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Lun 04 Fév 2008, 13:20
|
|
|
Merci. Par contre j'ai un probleme pour les scores.
Je ne sais pas comment faire pour que les points que je mange fassent plus 1 a mon score tout en mettant une condition qui empeche le score d'augmenter une fois un point mange si on repasse dessus.
(La seule methode que j'ai trouvé pour l'instant est d'utiliser deux listes pour determiner les coordonnees de mes point:
probleme: j'ai 77 point a referencer se qui prend environ 3000 octect.
Si quelqu'un a une suggestion elle est bien venu.(je ne l'ai donc pas fait!)
Merci D'avance?
JC78. 
|
 |
|
| |
ratuss
Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
|
Posté le : Lun 04 Fév 2008, 16:26
|
|
|
pxltest ?
---------------------- --- LISTE DES JEUX POUR TI --- |
 |
|
| |
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Mar 05 Fév 2008, 18:19
|
|
|
C'est a dire ?

|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mer 06 Fév 2008, 13:00
|
|
|
If pxl-test(coordonée du point)=1:score+1->score.
Tu teste le pixel au coordonée du point.
Si il est activé, il vaut 1 et donc rajoute 1 à ton score.
Sangohan38
|
 |
|
| |
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Mer 06 Fév 2008, 13:51
|
|
|
Hier soir j'ai reussie a trouver mais merci comme meme.
Mon pacman est maintenant entierement finie.
Il me restent plus qu'a le recopier
Il en fait environ 3500 octet donc je pense que je le posterait d'ici la fin de cette semaine.
JC78. 
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 07 Fév 2008, 12:56
|
|
|
Essaye de récupérer un cable, cela t'évitera de faire des oublis de ligne par exemple.
Sangohan38
|
 |
|
| |
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Ven 08 Fév 2008, 10:12
|
|
|
Et juste comme ca tu ne serait pas ou on peut en acheter et le prix?
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 08 Fév 2008, 12:56
|
|
|
Personnelement, j'ai acheter le mien sur ebay pour 15 euros.
Fait aabien attention au type de cable (parralèle ou USB) et les calculatrice compatible.
Sangohan38
|
 |
|
| |
JC78
Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
|
Posté le : Ven 08 Fév 2008, 15:59
|
|
|
Merci. 
|
 |
|
| |
ratuss
Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
|
Posté le : Ven 08 Fév 2008, 19:24
|
|
|
si tu as une 82 stat/82 stat.fr , je te conseil ce modèle.
+
---------------------- --- LISTE DES JEUX POUR TI --- |
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Sam 09 Fév 2008, 10:08
|
|
|
au fait comment on fait pour envoyer des photos a partir de ses photos persos?
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 09 Fév 2008, 10:29
|
|
|
Tu upload ton image et ensuite, tu copie le lien donné et tu le met entre des balises img.
Sangohan38
|
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Sam 09 Fév 2008, 11:00
|
|
|
merci
|
 |
|
| |