Forum

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

Reprise de mon snake

Samos le 25/11/2012 à 11:19
UP!

aperçu du jeu:

Il fonctionne sur tous les modèles, de la 82 stat à la 84+SE
explications:
Snake en TI basic z80
Commandes:
-bouger avec les flèches directionnelles
-presser [annul] dans les menus vitesse et édition des niveaux pour revenir au menu principal
-dans le menu vitesse appuyer sur les flèches haut/bas pour modifier la valeur (initialisée à 100% lors du lancement du programme)
l'éditeur de niveaux:
-appuyer sur [2nd] pour commencer ou terminer un obstacle, bouger avec les flèches directionnelles
-appuyer sur [suppr] pour supprimer les obstacles dans un ordre chronologique
-Il est déconseillé de placer les obstacles en diagonale (le snake passe quelques fois à travers)
-appuyer sur [annul] pour terminer l'édition et sauver la map réalisée
-Le passage à un niveau supérieur sans avoir édité la map s'accompagne d'une erreur.
-Le changement de map est possible 20 points après le dernier changement de niveau en mangeant le carré noir
-Lancer le programme "SNAKE" pour jouer

Lien de téléchargement:
https://tiplanet.org/forum/por[...]ir.php?id=10100
AlexRider38 le 25/11/2012 à 12:12
Sympas glasses.gif .
Mais pour le snake en lui même (ou plutôt le serpent), met plutôt les points carré au lieu de la croix (pt-on(x,x,2), plus esthétique).
Samos le 25/11/2012 à 12:20
J'aurai bien voulu mais avec le fonctionnement de mon snake, ça posait problème au niveau des pixel-test moodforlove.gif
AlexRider38 le 25/11/2012 à 18:12
Ben tu fait
Code
:pt-on(x,x,2)
:pt-on(x,x

Comme ça tu as un carré plein et ton pixel test fonctionne. (c'est quoi ce fichier, j'arrive pas à l'ouvrir)

EDIT: c'est bon je suis passé avec StuffitExpander
EDIT2: ajoute AxeOff au début sinon ça bug
EDIT3: je te met un screen
Image manquante
blg_flg le 25/11/2012 à 19:40
Il fait combien d'octets? Et on pourrait avoir le code (/me a la flemme clown.gif ).

Il a l'air pas mal. happy.gif
Samos le 25/11/2012 à 19:44
/la flemme too
Passe le au TI-editor sinon tongue.gif
50 octets pour le lecteur de map
400 pour le corps principal
400 pour l'éditeur de map
50 encore pour gérer le changement de niveau
Si on calcul bien... ça nous donne 10... 2... 900 octets godgrace.gif
blg_flg le 25/11/2012 à 20:05
C'est pas mal, quand celui de Ratuss en fait 1200. happy.gif

Ps: J'arrive pas à ouvrir le fichier... C'est normal? tongue.gif
AlexRider38 le 25/11/2012 à 20:22
Il faut utiliser un dézipper ou stuffitexpander.
Voici le lien vers un zip: TI84Plus_10.zip
blg_flg le 25/11/2012 à 20:41
Ok. C'est bon j'ai réussi. C'est pourtant ce que j'avais fait... crazy.gif
Tigre-obscure le 25/11/2012 à 23:52
J'ai la TI 82 stats.fr et je voudrais savoir si on pouvait avoir le code.
Car j'ai pas de câble, faut que je le recopie à la cry.gif Svp
blg_flg le 26/11/2012 à 19:11
C'est ici les signatures...
linkakro le 26/11/2012 à 19:42
Ce programme est impressionnant par sont fonctionnement après semble-t-il si peu de temps de développement.
Je suis charmé par l'éditeur de niveau.

Je me demande si la vitesse est réaliste.
Ce serait amusant qu'il soit plus rapide que Xsnake. (Xsnake est le plus rapide, le mien un peu moins, et après on arrive à Ratuss/Vibra, et peut-être qu'un joyau se cache hors de ma vue)

Je préfère les croix aux carrés puisque les positions n'ont pas le même écartement vertical et horizontal : je trouve ça désagréable avec les carrés.
Tigre-obscure le 26/11/2012 à 20:25
Le Grec a écrit :
C'est ici les signatures...

Hein? Je demande le code pour le snake car j'en ai besoin pour le tape à la main ^^"
Overdozage le 26/11/2012 à 20:31
Hein? Je demande le code pour le snake car j'en ai besoin pour le tape à la main ^^"[/quote]
L'éditeur ! Après tout ce temps que t'as passé sur ce forum, je pensais que tu savais ça ^^
blg_flg le 26/11/2012 à 21:11
@Tigre-Obscur: Quelqu'un avait demandé ou tu avais eu ta signature.
charlesjean le 26/11/2012 à 22:00
Overdozage a écrit :
L'éditeur ! Après tout ce temps que t'as passé sur ce forum, je pensais que tu savais ça ^^

il à raison,quand j'avais pas le câble je trouvais plus attrayant de l'avoir directement sur la page
Samos le 27/11/2012 à 19:16
ahh.gif
Un compliment de Linkakro bigmouth.gif ( enfin je le prend comme tel godgrace.gif )
J'ai eu une idée pour le rapidité, au lieu de de créer une boucle principale qui gère tout, il faudrait créer 4 sous-boucles qui gèrent chacune un déplacement.

Dans chaque sous-boucle, il n'y aura plus qu'à s'occuper des pixels test et des sorties de la map d'un seul coté.
Malheureusement, ça implique un ralentissement à chaque changement de direction.

SNAKE
Code
:DelVar M‾62/3→Ymin:0→Xmin:0→Ymax:.25→∆X
:18→Θ
:While 1
:   Menu("SNAKE BY SAM","PLAY",A,"EDIT MAP",B,"SPEED",C,"QUIT",D
:   Lbl B
:   prgmMPDTR
:End
:Lbl C
:ClrHome
:Repeat A=45
:   getKey→A
:   L+(A=25)-(A=34→L
:   Output(1,1,"ANNUL TO QUIT
:   Output(4,7," 
:   Output(4,6,L
:End
:ClrHome
:End
:Lbl A
:DelVar MDelVar Θ10→I:‾Ans→J:26→G:DelVar ADelVar Θ:2→F:DelVar Z1→D
:ClrDraw
:Repeat Ans
:   Θ+1→Θ
:   If I=E and J=F
:      prgmMAP
:   Repeat not(Pxl-Test(‾3C,4B
:      randInt(0,23→B
:      randInt(0,‾20→C
:   End
:   Pt-On(B,C,3
:   If Θ=20
:   Then
:      Repeat not(Pxl-Test(‾3F,4E
:         randInt(0,23→E
:         randInt(0,‾20→F
:      End
:      Pt-On(E,F,2
:      Pt-On(E,F
:   End
:   Θ+2→dim(L1
:   Ans→dim(L2
:   Text(57,0,Θ+Z
:   Repeat Pxl-Test(‾3J,4I
:      1+D(D≠Θ+2→D
:      Pt-Off(L1(D),L2(D),3
:      For(K,L,50:End
:      getKey→A
:      Pt-On(I,J,3
:      I→L1(D
:      J→L2(D
:      If not(A) or (A≠24 and A≠25 and A≠26 and A≠34) or abs(A-G)=2 or 9=abs(A-G
:         G→A
:      A→G
:      I+(A-25)(A≠34→I
:      J+(A=25)-(A=34→J
:      I-24(I>23)+24(I<0&#8594;I
:      J-21(J>0)+21(J<Ymin&#8594;J
:   End
:   not(I=B and C=J or I=E and J=F
:End
:Lbl D

(rajouté le Lbl D qui manquait dans le fichier téléchargeable

Programme qui s'occupe du changement des niveaux

MAP
Code

:ClrDraw
:&#920;+Z&#8594;Z
:M+1&#8594;M
:1&#8594;D
:DelVar L1DelVar L210&#8594;I:&#8254;Ans&#8594;J:DelVar &#920;3&#8594;F
:If M=1
:   &#7480;L1
:If M=2
:   &#7480;L2
:If M=3
:   &#7480;L3
:If M=4
:   &#7480;L4
:If M=5
:   &#7480;L5
:If M=6
:   &#7480;L6
:If M=7
:   &#7480;L7
:prgmLISTREAD


Editeur de map
MPDTR
Code
:0&#8594;Xmin:.25&#8594;&#8710;X:0&#8594;Ymax:&#8254;62/3&#8594;Ymin:DelVar BClrDraw:3&#8594;D:Ans&#8594;dim(&#7480;EDIT
:10&#8594;I:&#8254;Ans&#8594;J
:Repeat A=45
:   getKey&#8594;A
:dim(lEDIT
:If A=23 et Ans>3
:Ans-4 -> dim(lEDIT
:/* j'ai rajouté ces lignes afin de pouvoir supprimer les actions précédentes effectuées, n'efface pas les lignes directement. */
:
:   If A=21
:   Then
:      If not(B
:         StorePic 1
:      I&#8594;&#7480;EDIT(D
:      J&#8594;&#7480;EDIT(D+1
:      D+2&#8594;D
:      If B
:      Then
:         RecallPic 1
:         Line(&#7480;EDIT(D-4),&#7480;EDIT(D-3),I,J
:         10&#8594;I:&#8254;Ans&#8594;J
:      End
:      not(B&#8594;B
:   End
:   If B
:      Line(&#7480;EDIT(D-2),&#7480;EDIT(D-1),I,J,0
:   Pt-Off(I,J,2
:   I+(A=26)-(A=24&#8594;I
:   J+(A=25)-(A=34&#8594;J
:   Pt-On(I,J,2
:   If B
:      Line(&#7480;EDIT(D-2),&#7480;EDIT(D-1),I,J
:End
:&#7480;EDIT
:Menu("SAVE","LVL1",1,"LVL2",2,"LVL3",3,"LVL4",4,"LVL5",5,"LVL6",6,"LVL7",7
:Lbl 1
:Ans&#8594;&#7480;L1
:Return
:Lbl 2
:Ans&#8594;&#7480;L2
:Return
:Lbl 3
:Ans&#8594;&#7480;L3
:Return
:Lbl 4
:Ans&#8594;&#7480;L4
:Return
:Lbl 5
:Ans&#8594;&#7480;L5
:Return
:Lbl 6
:Ans&#8594;&#7480;L6
:Return
:Lbl 7
:Ans&#8594;&#7480;L7



LISTREAD
Code

:Ans&#8594;L3
:For(A,3,dim(Ans),4
:   Line(L3(A),L3(A+1),L3(A+2),L3(A+3
:End

La plupart des &#8594; sont des ->
Et voilà celui qui affiche les map, à éventuellement rajouter dans MAP pour prendre moins de place.

Désolé, j'ai eu la flemme de le recop... Submergé par le travail je ne pu le recopier moi même.
Pour ceux qui pourraient être intéressés j'ai utilisé TI forge Editor.


EDIT: Le source est incompréhensible, si vous souhaitez vraiment l'avoir:
-copiez le dans TI forge Editor
-créez le programme
-téléchargez Wabbitemu
-choisissez votre modèle de Z80 qui convient (de préférence 84+SE)
-lorsque vous l'avez créé, faites F10 et ouvrez les fichiers créés par TI forge Editor
Vous pourrez jouer sur émulateur et avoir accès au code source godgrace.gif

EDIT2: https://espace-ti.forumactif.c[...]-le-monde#19732
Venez sur ce sujet sinon, les caractères sont correctement affichés sur ce forum tongue.gif
Tigre-obscure le 27/11/2012 à 22:09
"Overdozage" a écrit :
L'éditeur ! Après tout ce temps que t'as passé sur ce forum, je pensais que tu savais ça ^^

Je suis plus venu ici, il y a un an car problèmes familiaux et j'ai dû perdre des connaissance sur le forum donc ça m'arrive de oublier c'est petit astuce =)
linkakro le 29/11/2012 à 00:02
@samsam : sache justement que c'est la méthode de Xsnake à peu de choses près.

J'ai déjà envisagé de modifier mon propre programme, déjà rapide sans découpage, en le découpant en une boucle par direction.
La rivalité de ton programme me donne la motivation de passer à l'acte. *challenge accepted*
Samos le 20/04/2013 à 19:05
Salut!
Désolé de mon manque d'assiduité, au passage, UP!
J'ai juste effectué quelques modifications mineures qui permettent un plus grand confort de jeu happy.gif