Poster un nouveau sujet Poster une réponse Page: 1,      >>
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   Citer 

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. happy.gif

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 29 Jan 2008, 16:00   Citer 

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

 Adresse email Haut de page Bas de page 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Mar 29 Jan 2008, 19:07   Citer 

si tu mets une boucle for ce sera beaucoup plus lent.

(sinon je vois pas non plus pourquoi tu utilises des listes crazy.gif ? )

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
JC78



Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
Posté le : Mer 30 Jan 2008, 12:29   Citer 

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. ahh.gif

 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Mer 30 Jan 2008, 14:12   Citer 

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 !
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mer 30 Jan 2008, 15:52   Citer 

Effectivement, le pt-change permettera de canger les pixels actuelles et ensuite, de les remettres à un autre endroit.

Sangohan38

 Adresse email Haut de page Bas de page 
 
JC78



Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
Posté le : Jeu 31 Jan 2008, 10:10   Citer 

Merci.

Citer
le pt-change permettera de canger les pixels actuelles


par canger tu entendais changer

happy.gif

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Jeu 31 Jan 2008, 12:55   Citer 

Effectivement, c'est une erreur de frappe de ma part.

Sangohan38

 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Jeu 31 Jan 2008, 19:31   Citer 


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 :

Code

Pt-On(A,B,2



----------------------
Ne cliquez pas ici !
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Ratuss



Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Jeu 31 Jan 2008, 20:04   Citer 

non compatible avec les 82 par contre...

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
JC78



Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
Posté le : Ven 01 Fév 2008, 10:16   Citer 

Si je met:

Citer
Pt-On(A,B,2


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)

happy.gif

 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Ven 01 Fév 2008, 10:21   Citer 


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 !
 Adresse email Haut de page Bas de page 
 
JC78



Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
Posté le : Sam 02 Fév 2008, 18:12   Citer 

Je l'ai tester et sa affiche en effet un "carre" ou un "plus".
Les "textes" donneront ils le meme resultat?
ex:

Code
Texte(A,B,"+"



happy.gif

 Adresse email Haut de page Bas de page 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Sam 02 Fév 2008, 18:45   Citer 

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 ---
 Adresse email Haut de page Bas de page 
 
JC78



Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
Posté le : Sam 02 Fév 2008, 19:04   Citer 

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. happy.gif

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
JC78



Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
Posté le : Dim 03 Fév 2008, 18:10   Citer 

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. happy.gif

 Adresse email Haut de page Bas de page 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Dim 03 Fév 2008, 18:23   Citer 

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 ---
 Adresse email Haut de page Bas de page 
 
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   Citer 

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:


Code
C->D



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

 Adresse email Haut de page Bas de page 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Dim 03 Fév 2008, 18:47   Citer 


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 ---
 Adresse email Haut de page Bas de page 
 
JC78



Autorisation : Membre
Nb de messages : 30
Inscrit le : Sam 26 Jan 2008, 21:32
Posté le : Dim 03 Fév 2008, 19:09   Citer 

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. happy.gif

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink