Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 6535
Réponses : 51
Type : discussion
Etat : réponses autorisées

Light cycle (TRON) - Page 1 / 2

patate007 le 26/04/2011 à 22:59
Salut winkle.gif

Je vais présenter mon jeu de Light cycle. C'est en fait le jeu de moto dans Tron. Il se joue à 2 joueurs. C'est la version français pour TI-82 Stats.fr donc je vous donnerai la traduction des commandes/fonctions en bas winkle.gif
Voici le .82p ici. Je mettrai un screen plus tard winkle.gif

Le programme pèse environ 660 octets.

Code
:0->Xmin:94->Xmax:0->Ymin:62->Ymax
:EffDessin
:Ligne(1,62,94,62
:Ligne(94,62,94,1
:Ligne(94,1,1,1
:Ligne(1,1,1,62
:EffListe L1:EffListe L2
:{31,46,-1,0}->L1
:{31,48,-1,0}->L2
:Lbl A
:0->K
:Pxl-On(L1(1),L1(2)
:Pxl-On(L2(1),L2(2)
:L1(1)+L1(3)->L1(1)
:L1(2)+L1(4)->L1(2)
:L2(1)+L2(3)->L2(1)
:L2(2)+L2(4)->L2(2)
:If pxl-Test(L1(1),L1(2))=1:Goto B
:If pxl-Test(L2(1),L2(2))=1:Goto C
:codeTouche->K
:If K=22 et L1(3)!=-1:Goto 1
:If K=32 et L1(3)!=1:Goto 2
:If K=33 et L1(4)!=1:Goto 3
:If K=31 et L1(4)!=-1:Goto 4
:If K=34 et L2(3)!=1:Goto 5
:If K=25 et L2(3)!=-1:Goto 6
:If K=26 et L2(4)!=1:Goto 7
:If K=24 et L2(4)!=-1:Goto 8
:Goto A
:Lbl 1
:L1(3)-1->L1(3):0->L1(4)
:Goto A
:Lbl 2
:L1(3)+1->L1(3):0->L1(4)
:Goto A
:Lbl 3
:L1(4)+1->L1(4):0->L1(3)
:Goto A
:Lbl 4
:L1(4)-1->L1(4):0->L1(3)
:Goto A
:Lbl 5
:L2(3)+1->L2(3):0->L2(4)
:Goto A
:Lbl 6
:L2(3)-1->L2(3):0->L2(4)
:Goto A
:Lbl 7
:L2(4)+1->L2(4):0->L2(3)
:Goto A
:Lbl 7
:L2(4)-1->L2(4):0->L2(3)
:Goto A
:Lbl B
:Texte(1,3,"J1 A PERDU
:Stop
:Lbl C
:Texte(1,9,"J2 A PERDU
:Stop


Si vous ne comprennez pas un morceau de code ou s'il y a un bug, n'hésitez pas, ce site est un forum ! laugh.gif

EffDessin ==> ClrDraw
Ligne( ==> Line(
EffListe ==> ClrList
codeTouche ==> getKey
et ==> or
Texte ==> Text

Si vous trouvez un moyen pour accélérer le jeu, merci de m'aider happy.gif

Bonne journée winkle.gif

Au fait, voici les touches : En rouge, le joueur 1 à gauche et en bleu le joueur 2 à droite.
Image manquante
Akmdad le 27/04/2011 à 16:37
cool! j'ai ce jeu sur mon portable!
Persalteas le 28/04/2011 à 09:15
C'est bien ! le programme est léger !
linkakro le 01/05/2011 à 11:53
Le concept est très chouette.

Je ne sais pas comment tu l'as compilé, mais il y a quelques coquilles et une abscence de caractères spéciaux dans ton 82p, et il ne passe pas dans les émulateur 82.
J'ai un bug dont je m'attribuait la faute, jusqu'à maintenant mais je crains qu'il y ait un problème.
J'exclut de le taper manuellement dans ma calcu qui n'a plus de piles.

Je n'ai plus de patience pour aujourd'hui. Et j'ignore quand je m'y remettrai.

EDIT : les coquilles et le blocage des émulateurs sont indépendants. En fait les émulateurs que j'ai essayé ne supportent simplement aucun 82p.

EDIT: commentaire sur les coquilles périmé
patate007 le 02/05/2011 à 07:52
Autant pour moi, j'ai copiée la source et collée dans TI-Graphic Link et il me semble que j'ai omis de changer les listes winkle.gif

N'ayant pas le logiciel sur mon PC portable, qui rame un peu, j'attendrai d'aller sur mon fixe pour régler cette erreur winkle.gif
azerty1 le 11/05/2011 à 22:25
Effectivement, je pense que pour ton .82p tu as juste copié collé le code tel quel, cela ne peut pas marché sans les caractères spéciaux (noms des liste, [sto],...) ...Donc édite ton code dans Ti-Editor: http://tiforge.info/ti_editor/ pour qu'il puisse être lu, par les émulateurs et les caltos...
Du coup je n'ais pas encore essayé le jeu en lui même...
sandro le 12/05/2011 à 18:25
on peut encor l'alléger:
Code
:0->Xmin:94->Xmax:0->Ymin:62->Ymax
:EffDessin
:Ligne(1,62,94,62
:Ligne(94,62,94,1
:Ligne(94,1,1,1
:Ligne(1,1,1,62
:EffListe L1:EffListe L2
:{31,46,-1,0->L1          //ici
:{31,48,-1,0->L2          //ici
:Lbl A
:EffVar KPxl-On(L1(1),L1(2   //ici 
:Pxl-On(L2(1),L2(2           //ici
:L1(1)+L1(3->L1(1            //ici
:L1(2)+L1(4->L1(2            //ici
:L2(1)+L2(3->L2(1            //ici
:L2(2)+L2(4->L2(2            //ici
:If pxl-Test(L1(1),L1(2:Goto B   //ici
:If pxl-Test(L2(1),L2(2:Goto C   //ici
:codeTouche->K
:If K=22 et -1!=L1(3:Goto 1      //ici
:If K=32 et 1!=L1(3:Goto 2       //ici
:If K=33 et 1!=L1(4:Goto 3       //ici
:If K=31 et -1!=L1(4:Goto 4      //ici
:If K=34 et 1!=L2(3:Goto 5       //ici
:If K=25 et -1!=L2(3:Goto 6      //ici
:If K=26 et 1!=L2(4:Goto 7       //ici
:If K=24 et -1!=L2(4:Goto 8      //ici
:Goto A
:Lbl 1
:L1(3)-1->L1(3:0->L1(4           //ici
:Goto A
:Lbl 2
:L1(3)+1->L1(3:0->L1(4           //ici
:Goto A
:Lbl 3
:L1(4)+1->L1(4:0->L1(3           //ici
:Goto A
:Lbl 4
:L1(4)-1->L1(4:0->L1(3           //ici
:Goto A
:Lbl 5
:L2(3)+1->L2(3:0->L2(4           //ici
:Goto A
:Lbl 6
:L2(3)-1->L2(3:0->L2(4           //ici
:Goto A
:Lbl 7
:L2(4)+1->L2(4:0->L2(3           //ici
:Goto A
:Lbl 7
:L2(4)-1->L2(4:0->L2(3           //ici
:Goto A
:Lbl B
:Texte(1,3,"J1 A PERDU
:Stop
:Lbl C
:Texte(1,9,"J2 A PERDU
:Stop


@+
Sandro
linkakro le 12/05/2011 à 20:04
Bof cette modification ne pète pas des briques.
Néanmoins des débutants accros au poids verrons cet exemple d'allègement.
Akmdad le 13/05/2011 à 09:41
tu disais, patate007, que tu mettrais un screen... ca serait sympa si tu le faisait!! j'ai une flemme monstre de le recopier, et j'ai perdu enormement de rapidité en recopiage sur 82, a cause de ma 89.
patate007 le 14/05/2011 à 00:52
Tient c'est bizarre Akmdad, on dirait que j'ai été aussi touché par l'épidémie de flemme =° J'avais déjà fait un screen pour mon ancien programme mais je ne sais plus comment on fait... Quelqu'un pourrai me le rappeler ?

Ensuite Sandro, en effet, on pouvais chipoter par-ci par là... Je ne me suis pas amusé à ça, merci de l'avoir fait pour moi winkle.gif

Je mettrai le .82p quand je serai sur mon ordi fixe winkle.gif
linkakro le 14/05/2011 à 19:56
Si je vaincs ma flemme et mon emploi du temps, j'écrirai un article sur la question.
Je ne retrouve pas les sujets où j'ai participé à des explications.
Mais ratuss présente ici.

Pour faire des gifs animés :
vti+calccapture
wabbitemu
n'importe quel émulateur+un logiciel de capture ordi

Des captures fixes se font avec tous les émulateurs.
Ti-connect ne permet pas de capturer une image pendant l'execution d'un programme.
Xemnas le 20/05/2011 à 10:59
Si tu veux accélérer ton progrmme je ne vous qu'une seule solution c'est d'agrandir le jeu c'est à dire de faire des traits de 3 pixels de large.
Akmdad le 20/05/2011 à 14:54
des Pton(x,y,3)?
Sangohan38 le 20/05/2011 à 17:15
Et pourquoi pas ligne(X,Y,X+3,Y)?

Sangohan38
Akmdad le 20/05/2011 à 22:34
oui mais ca n'acceleras pas...
Xemnas le 23/05/2011 à 11:56
Si, les traits iront plus vite d'un côté à un autre mais il y aura moins de place!
Akmdad le 23/05/2011 à 13:27
sa l'agrandit en fait
Xemnas le 23/05/2011 à 14:55
C'est bien ce que j'ai dit!
Xemnas le 24/05/2011 à 09:58
J'ai bien amélioré ton programme Akmdad mais je n'arrive toujours pas à l'agrandir.
Un conseil: si tu enlevais les Label et les Goto ton programme irait un peu plus vite.
Akmdad le 25/05/2011 à 20:58
haha ce n'est pas moi, c'est patate007
tourné le 17/12/2011 à 20:58
j'ai un problème je n'arrive pas à tourné j'ai essayer avec toute les touche
The K le 17/12/2011 à 21:13
Vérifie toutes les lignes ou la variable K apparait winkle.gif
etienne le 17/12/2011 à 21:24
c'est se que j'ai fait mais je trouve pas l’erreur les deux ligne vont tout droit et impossible de tourné
il y a une ligne je suis pas sur
Code
EffVar KPxl-On(L1(1),L1(2

pour cette ligne je trouve bizarre le K
patate007 le 17/12/2011 à 23:17
Ça c'est Sandro qui ne fait rien que des bêtises, encore =°
Enlève le "K", il a dut se planter...
Merci à lui pour la compression du code, tout de même !

PS : Sandro, j'aime bien quand c'est propre sur le fofo godgrace.gif
J'avais surement allégé sur ma calto, à l'époque =°
etienne le 17/12/2011 à 23:20
non sans le K sa ne lance même plus et la calculette met ERR:Syntaxe
patate007 le 17/12/2011 à 23:24
Houlà ! J'ai la tête dans le *** moi... En fait, il faut rien supprimer et passer à la ligne juste après le "K". Au temps pour moi beer.gif
etienne le 17/12/2011 à 23:45
le jeu s'affiche mais je ne peu toujours pas tourner sa va tout droit et sa me met le joueur 2 perd
etienne le 17/12/2011 à 23:47
pourrai tu recopier le 2eme et me dire si il marche pour toi ?
Polymorph le 17/12/2011 à 23:48
vérifie ces lignes
Code

:If K=32 et L1(3)!=1:Goto 2
:If K=33 et L1(4)!=1:Goto 3
:If K=31 et L1(4)!=-1:Goto 4

(le != représente le signe [différent de] hein)
et celles ci
Code

:Lbl 2
:L1(3)+1->L1(3):0->L1(4)
:Goto A
:Lbl 3
:L1(4)+1->L1(4):0->L1(3)
:Goto A
:Lbl 4
:L1(4)-1->L1(4):0->L1(3)
:Goto A
etienne le 18/12/2011 à 00:13
sa marche !!! j'avais mis != a la place de différent merci beaucoup laugh.gif
Polymorph le 18/12/2011 à 23:40
No problemo, c'est un plaisir minied.gif
The Werty le 04/01/2012 à 23:19
Bonsoir happy.gif
Moi j'ai un petit problème quand je lance le programme,
Il m'indique Dim invalide :
:L1(2)+L1(4->L1(2
Pourtant j'ai bien utiliser la touche sto...
Help please winkle.gif
linkakro le 05/01/2012 à 00:29
Dim Invalide signifie que ta liste n'est pas de la bonne longueur pour effectuer ce calcul.
Je pense que la liste est trop courte pour utiliser le terme d'indice 4.
Mais j'ignore ce qui provoque cela.
The Werty le 05/01/2012 à 06:29
Wow... Okay, personne n'a de solution alors? ahh.gif
sandro le 05/01/2012 à 18:50
Tu pourrais donner L1 au moment du bug SVP?
The Werty le 05/01/2012 à 22:29
Excuse moi, je débute, comment dois-je faire?
The K le 05/01/2012 à 22:51
Tapes juste L1 dans l'écran principal (la ou tu fais 2+2=4 ^^). Pour cela, appuies sur le touches [seconde] puis [1] winkle.gif
The Werty le 05/01/2012 à 23:10
(c'est si simple que ca ^^) alors L1 au moment du bug:
{30 46 -1}
Cytropus le 06/01/2012 à 10:39
Salut patate007
y un point que j'ai pas comprit dans ton prgm
ça sert à quoi les L1(3!=-1 etc..
perso au départ j'ai pas comprit que c'était différent de minied.gif
du coup je les ai virer (ça marche quand même laugh.gif )
The Werty le 06/01/2012 à 19:18
Je ne peux pas t'aider, moi non plus je n'ai pas compris a quoi cela servait ^^
Et si quelqu'un a une idée sur mon probleme, n'hésitez pas! winkle.gif
sandro le 06/01/2012 à 21:15
vérifie ces deux lignes (plutôt au début), il me semble que c'est de là qu'a le plus de chance de venir l'erreur:
Code
:{31,46,-1,0}->L1
:{31,48,-1,0}->L2


Sandro
The Werty le 06/01/2012 à 21:24
J'avais déja vérifier, aucunes fautes à cet endroit..

A moins que le - de -1 ne soit pas la touche ( - ), mais j'en doute
sandro le 06/01/2012 à 21:30
Si, c'est bien ce moins là, l'autre créerais une erreur.

Bon, je cherche encore un peu.

Sandro

EDIT : tu utilise le code du premier post?
The Werty le 06/01/2012 à 21:32
C'est vraiment sympa bigmouth.gif
J'utilise le 2eme code, allegé
sandro le 06/01/2012 à 21:36
vérifie que tu n'as utiliseé aucune acolade ( "{" ou "}" ) à part sur les 2 lignes que je t'ai indiqué audessus

vérifie aussi que tu n'a pas utilisé l'istruction "dim("

essaye en supprimant cette ligne (je crois qu'elle ne sert à rien:
Code
:EffListe L1:EffListe L2


Sandro

EDIT :
Vérifie surtout ce bout de code:
Code
:{31,46,-1,0->L1          //ici
:{31,48,-1,0->L2          //ici
:Lbl A
:EffVar KPxl-On(L1(1),L1(2   //ici 
:Pxl-On(L2(1),L2(2           //ici
:L1(1)+L1(3->L1(1            //ici
:L1(2)+L1(4->L1(2            //ici
The Werty le 06/01/2012 à 21:44
Aucune acollades ormis ces deux lignes, et pas de dim(...
J'ai supprimé la ligne que tu m'a indiqué, toujours "dim invalide"
Franchement, j'ai peu d'espoir, c'est vraiment bizarre

J'ai verifié tout, aucunes fautes...
sandro le 06/01/2012 à 21:57
Bizzard, essaye de reécrire juste le bout de code que j'ai donné dans un programme séparé, et dit moins si tu as le même bug.

Sandro
The Werty le 06/01/2012 à 22:03
Ah! Je crois savoir, j'ai mis un . Au lieu d'une virgule à {31,46,1,0ùL1 !! J'essaye tout de suite!

Et oui c'etait bien ça... Je sais pas où j'avais la tete (surement dans l'***) j't'ai un peu fais ch... Embeté pour rien ^^ merci quand meme godgrace.gif
sandro le 06/01/2012 à 22:32
Bah derien, c'est le genre d'erreures toutes bêtes et qui sont gallère à trouver (à la limite, quand on a tout essayé, ça peuut aider de reécrire la partie qu'on soupsonne, mais ça prend son temps.

Sandro
Crazycoder le 25/09/2013 à 22:24
Je re fait surgir ce topic car quand je tourne sa m affiche comme quoi j1 ou j2 selon la touche a perdue.y aurait il solution a mon probleme (je suis sur 82 stats fr ou cas ou)