Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
(Jeu) WALLJUMP (Jeu)
S.L le 04/07/2012 à 18:21
Bonjour, voilà des mois que je ne suis pas venu sur ce forum et je me pardonne avec un petit jeu que j'ai nommé "WALLJUMP".
Ce jeu s'inspire du jeu
Ninjump ou encore du jeu
Shaolin Jump; le principe du jeu est d'éviter en sautant avec votre joueur (ici le chiffre "0") les obstacles qui apparaissent aléatoirement devant vous tandis que vous grimpez en courant sur deux murs.
Bon jeu!
Image manquante
New:
Télécharger
Les commandes du jeu sont:
[<-] (flèche de droite) : Sauter sur le mur droit
[->] (flèche de gauche) : Sauter sur le mur gauche
[entrer] (bouton entrer) : Mettre le jeu en pause
[annul] (bouton annuler) : Quitter le jeu en pleine partie
Version 1:
Nom: WALLJUMP
Taille: 561 octets
Auteur: S.L
-> : flèche sto
l : petit L des listes (on peut le trouver dans le catalog)
TI Stats.fr (fonctions en Français)
Code
PROGRAM:WALLJUMP
:1->dim(lWALLJ)
:EffEcr
:Output(1,1,"**************** //il y a 16 petits "*" (signe multiplier)
:Output(2,5,"WALLJUMP
:Output(4,1,"GAME BY S.L
:Output(5,9,"(C) 2012
:Output(7,4,"POUR TI 82/83
:Output(8,1,"**************** //il y a 16 petits "*" (signe multiplier)
:Pause
:EffEcr
:0->S
:7->A
:2->B
:1->X
:4->Y
:2->Z
:15->V
:While 1
:S+1->S
:X+1->X
:Y+1->Y
:If X=9:entAléat(1,2)->X
:If Y=9:entAléat(1,2)->Y
:If X=Y ou X+1=Y ou X-1=Y ou Y+1=X ou Y-1=X:X+1->X
:EffEcr
:Output(X,Z,"]
:Output(Y,V,"[
:Output(A,B,"0
:Output(1,1,"I
:Output(1,16,"I
:Output(2,1,"I
:Output(2,16,"I
:Output(3,1,"I
:Output(3,16,"I
:Output(4,1,"I
:Output(4,16,"I
:Output(5,1,"I
:Output(5,16,"I
:Output(6,1,"I
:Output(6,16,"I
:Output(7,1,"I
:Output(7,16,"I
:Output(8,1,"I
:Output(8,16,"I
:Output(1,8,S
:codeTouche->K
:If K=24:2->B
:If K=26:15->B
:If K=45:Then:EffEcr:Stop:End
:If S>lWALLJ(1
:S->lWALLJ(1
:If A=X et B=Z ou A=Y et B=V:Then:EffEcr:Disp "SCORE:",S,"HISCORE:",lWALLJ(1:Pause:Stop:End
:If K=105:Pause"PAUSE
:End
Edit: Version 2: (plus lente, 451 octets)
Code
PROGRAM:WALLJUMP
:1->dim(lWALLJ)
:EffEcr
:Output(1,1,"**************** //il y a 16 petits "*" (signe multiplier)
:Output(2,5,"WALLJUMP
:Output(4,1,"GAME BY S.L
:Output(5,9,"(C) 2012
:Output(7,4,"POUR TI 82/83
:Output(8,1,"**************** //il y a 16 petits "*" (signe multiplier)
:Pause
:EffEcr
:0->S
:7->A
:2->B
:1->X
:4->Y
:2->Z
:15->V
:Lbl 1
:S+1->S
:X+1->X
:Y+1->Y
:If X=9:entAléat(1,2)->X
:If Y=9:entAléat(1,2)->Y
:If X=Y ou X+1=Y ou X-1=Y ou Y+1=X ou Y-1=X:X+1->X
:EffEcr
:Output(X,Z,"]
:Output(Y,V,"[
:Output(A,B,"0
:For(L,1,8
:Output(L,1,"I
:Output(L,16,"I
:End
:Output(1,8,S
:codeTouche->K
:If K=24:2->B
:If K=26:15->B
:If K=45:Then:EffEcr:Stop:End
:If S>lWALLJ(1
:S->lWALLJ(1
:If A=X et B=Z ou A=Y et B=V:Then:EffEcr:Disp "SCORE:",S,"HISCORE:",lWALLJ(1:Pause:Stop:End
:If K=105:Pause
:Goto 1
Voilà ! Testez le et n'hésitez pas à m'en dire des nouvelles!

snap le 04/07/2012 à 18:38
Tu peux remplacer
Code
:Output(1,1,"I
:Output(1,16,"I
:Output(2,1,"I
:Output(2,16,"I
:Output(3,1,"I
:Output(3,16,"I
:Output(4,1,"I
:Output(4,16,"I
:Output(5,1,"I
:Output(5,16,"I
:Output(6,1,"I
:Output(6,16,"I
:Output(7,1,"I
:Output(7,16,"I
:Output(8,1,"I
:Output(8,16,"I
Par
Code
For(L,1,8
Output(L,1,"I
Output(L,16,"I
End
S.L le 04/07/2012 à 18:41
Merci j'avais chercher un moyen de faire cette partie en peu de caractère et tu viens de me donner la solution

Edit: J'ai remis le code avec cette modification
S.L le 04/07/2012 à 18:48
Ca fonctionne! Mais le jeu est ralenti

snap le 04/07/2012 à 18:53
C'est vrai que for( prend plus de temps, mais je pensais pas que sa se verrais autant :/lombric le 05/07/2012 à 11:53
salut, j'ai testé les deux versions et c'est vrai que la deuxième est beaucoups plus lente... sinon je trouve le jeu super bien fait bravo !S.L le 05/07/2012 à 21:58
Merci lombric de l'avoir testé
J'espère que d'autres personnes vont en faire autant !

matrefeytontias le 06/07/2012 à 01:05
S.L ... Cette signature ...
Je vais te tuer. L'ASM est tout-puissant.

Persalteas le 06/07/2012 à 10:52
C'est une mauvaise idée, cette signature
Enfin bref.
Vous notez, comme exemple, que ce membre possède un avatar. étrange.
S.L le 06/07/2012 à 11:09
Cette signature montre juste mon incapacité à comprendre ce "ASM" et ma volonté à faire survivre le TI Basic!
Sinon persalteas, tu veux que je supprime mon avatar?
Edit: Pardon je n'avais pas lu ce sujet
https://tout82.pages-perso.fre[...]2929&page=2 Persalteas le 06/07/2012 à 11:18
En fait, tu dois être l'Elu.
Parce que personne n'arrive a mettre d'avatar, sauf quelques rares gens, dont toi.
Ta signature ne me dérange pas, moi j'aime bien l'asm aussi, mais certains comme Matrefeytontias ne savent pas programmer en Basic, seulement en Asm.
S.L le 06/07/2012 à 11:23
Peut être que je suis l'élu
Ou j'ai peut être une autre explication: comme ça faisait très longtemps que je n'étais pas venu sur ce site, je n'ai pas vu le sujet concernant ce bug d'avatar et je n'ai donc pas pu avoir voulu tester si chez moi ça marchait et donc mon avatar est resté !
Je dirais que je suis plus chanceux que les autres

blg_flg le 09/07/2012 à 11:45
En dehors de ça je ne sais pas si on peux dire "le ASM".
J'ai toujours vu "l'ASM".Sangohan38 le 09/07/2012 à 13:28
Citation
En français, l’apostrophe sert de signe typographique marquant l’élision des voyelles finales a et e de certains mots, et i pour ce qui est de la conjonction si suivie du pronom il. L’élision se fait lorsque ces mots sont suivis d'un mot commençant par une voyelle ou un h muet. Ainsi on a : la + apostrophe → l’apostrophe, le + oiseau → l’oiseau, si + il → s’il, que + elle/il → qu’elle/qu’il, presque + île → presqu’île, le + homme → l’homme, le + hôtel → l’hôtel, le + hôpital → l’hôpital.
Source:
https://fr.wikipedia.org/wiki/[...]e_(typographie)
Conclusion: c'est bien l'ASM qu'on dit. Maintenant retour au sujet.
Sangohan38
linkakro le 10/07/2012 à 14:21
Ce jeu est symapthique.
J'ai cherché comment l'enrichir mais je sature.Samos le 10/07/2012 à 17:16
J'ai une idée qui me semble a moitié médiocre...
Tu pourrais utiliser
Disp " à chaque boucle pour avoir l'impression que le bonhomme avance
D'ailleurs il n'y aura pas besoin d'afficher 8 lignes à chaque fois.
Mais pour les J il faudra les faire tomber plus vite.
Il y aura aussi beaucoup de clignotements.linkakro le 10/07/2012 à 18:50
J'ai pensé à utiliser Disp pour scroller l'écran et quelques output pour compléter les lignes vierges, mais il faut retourner la calculatrice pour que le personnage grimpe au mur au lieu de descendre.
J'ai essayé un peu trop vite de modifier certaines choses qui peuvent rester comme elles sont,et cela ne marche pas parfaitement bien, alors il faut que je reprenne au début.ld le 15/07/2012 à 22:48
On avaient trouver comment faire pour faire l'inverse de la fonction Disp quant on avait fait ensemble un Doodle Jump. Cà fonctionnait bien, pourquoi ne pas s'inspirer de çà ?linkakro le 16/07/2012 à 02:12
Le sujet du Doodle/Papy - Jump est celui-ci :
https://tout82.pages-perso.fre[...]age=32037#32037
Pensez à regarder la page8
J'ai édité mon deuxième message page 8 pour :
-pouvoir plus facilement adapter la méthode du Doodle au WallJump de ce sujet (si besoin mais je doûte de l'utilité)
-pouvoir aussi retrouver ce que j'avais fait à l'époque, avant d'oublier
J'insiste sur le fait que j'ai corrigé un petit bug avant d'opérer les autres transformations visibles dans les versions 3.1 et 3.2.
============
Cela dit, maintenant libre à vous de vous inspirer du doodlejump/papyjump pour la montée d'écran si vous voulez.
Je doûte que cela soit réellement utile car il n'y a que deux variables représentant des obstacles.
phillosc le 30/09/2012 à 18:01
Perso pour moi ça bug il y a marqué erreur syntax a la ligne 1->dim(1WALLJ)phillosc le 30/09/2012 à 18:06
Ah non en fait c est bon mais maintenant ça bug sur la 3e ligne avec le guillemetlinkakro le 30/09/2012 à 18:30
Quel type d'erreur ?
La fonction output se trouve dans prgm+droite+6
La virgule se saisit avec la touche au dessus du 7theockey le 07/10/2012 à 15:05
au fait vous le trouver ou le petit truc qu'il faut repeter 2 fois 16 fois ?blg_flg le 07/10/2012 à 15:43
C'est le simple signe "multiplier".

arta10 le 08/10/2012 à 21:21
Bonjour, j'ai un problème avec la première ligne
1->dim(1WALLJ)blg_flg le 08/10/2012 à 21:25
Vérifie que le "->" est bien un sto (au dessus de ON) et que tu n'as pas écrit "dim" avec les majuscules.
Pour chaque erreur, veille à toujours indiquer son type, si tu veux bénéficier d'une aide efficace. (syntaxe, dim...), et son emplacement.

arta10 le 08/10/2012 à 21:34
Il y a écrit err:syntaxe.
Pour -> , j'ai appuyé sur sto-> et j'ai pris le dim( dans le catalogue.linkakro le 08/10/2012 à 21:49
Il faut écrire LWALLJ avec le L du menu 2nde+stat(liste)+droite+haut ou 2nde+0(catalogue)+L+entrerarta10 le 08/10/2012 à 21:57
Merci mais j'ai une nouveau probleme err:argument a :output(pourti82/83blg_flg le 08/10/2012 à 21:58
Normal: tu as oublié pas mal de choses

:
Code
:Output(7,4,"POUR TI 82/83
Le <<7,4,">> est très important.
arta10 le 08/10/2012 à 22:09
Excuse moi mais le jeu se lance mais impossible de bouger.
Aussi je n'ai pas compris ce qu'il faut mettre
:If A=X et B=Z ou A=Y et B=V:Then:EffEcr:Disp SCORE:",S,"HISCORE:",lWALLJ(1:Pause:Stop:EndS.L le 09/10/2012 à 19:21
Essaie d'écrire ça à la place:
"et" se trouve dans 2nd+Math+La flèche de droite/pareil pour "ou", les espaces entre le "et" et les lettres se font automatiquement.
Code
:If A=X et B=Z ou A=Y et B=V
:Then
:EffEcr
:Disp "SCORE:",S,"HISCORE:",lWALLJ(1 //n'oublie pas la parenthèse et le 1
:Pause
:Stop
:End
arta10 le 09/10/2012 à 19:47
Merci beaucoup à Le Grec et S.L de m'avoir aider. Maintenant il marche parfaitement.Nellen le 27/02/2014 à 19:16
Il me mets erreur domaine à :
output(x,z,"]
Helpm@thieu41 le 27/02/2014 à 20:30
Bonjour! (ah... la politesse ^^ une vertu qui se fait rare)
Tu as fait une erreur de recopiage certainement.
Quel programme as-tu recopié (il me semble qu'il y a plusieurs versions...)?
Donne nous les valeurs de X et Y (sur l'écran home: X puis entrer et Y puis entrer).S.L le 29/03/2014 à 19:31
Salut Nellen, vérifie que tu as bien recopié cette partie du programme :
Code
...
:1->X
:4->Y
:2->Z
:15->V
:While 1
:S+1->S
:X+1->X
:Y+1->Y
:If X=9:entAléat(1,2)->X //touches : [math] puis [gauche] puis [5]
:If Y=9:entAléat(1,2)->Y
:If X=Y ou X+1=Y ou X-1=Y ou Y+1=X ou Y-1=X
:X+1->X
...
Kurag le 30/11/2014 à 03:21
Bonsoir/bonjour tout le monde !
Je ne sais pas si le sujet est toujours ouvert, dans le doute je me permet tout de même d'y poster
Alors voilà, ayant découvert la programmation sur calculatrice il y a très peu, je m'en suis retrouvé fort intéressé et après avoir découvert ce jeu j'ai voulu l'adapter pour pouvoir y jouer à deux joueurs.
Malheureusement, le jeu fonctionne parfaitement pour le premier joueur, mais le second traverse les obstacles ce qui ne devrait normalement pas arriver.
Je recopie donc ici le programme modifié, en espérant que quelqu'un me répondra et m'aidera
Code
PROGRAM:WJUMP2J
:1->dim(LWJUMP)
:EffEcr
:0->S
:7->A
:2->B
:9->H
:1->X
:4->Y
:1->C
:4->D
:2->Z
:7->V
:9->E
:15->F
:Lbl 1
:S+1->S
:X+1->X
:Y+1->Y
:C+1->C
:D+1->D
:If X=9:entAleat(1,2)->X
:pareil en remplaçant X par Y
:X par C
:X par D
:If X=Y ou X+1=X ou Y+1=X ou Y-1=X:X+1->X
:pareil en remplaçant X par C et Y par D
:EffEcr
:Output(X,Z,"]
:Output(Y,V,"[
:Output(C,E,"]
:Output(D,F,"[
:Output(A,B,"O
:Output(A,H,"O
:Output(1,1,"I
:Output(1,8,"I
:Output(1,16,"I
:on répète les trois mêmes lignes en changeant le 1 en 2, puis 3, etc... Jusque
:Output(8,16,"I
:Output(1,3,S
:Output(1,10,S
:codeTouche->K
:If K=24:2->B
:If K=26:7->B
:If K=21:9->H
:If K=22:15->H
:If S>LWJUMP(1
:S->LWJUMP(1
:If A=X+1 et B=Z ou A=Y+1 et B=V:Then:EffEcr:Disp "JOUEUR 2 GAGNE","SCORE:",S,"HIGHSCORE:",LWJUMP(1:Pause:Stop
:même en remplaçant X par C, B par H, Z par E, Y par D et V par F, et "JOUEUR 1" à la place de "JOUEUR 2"
:If K=105:Pause"PAUSE
:End
:End
:Goto 1
Et oui, j'ai vérifié et fait aucune faute aux endroits où j'ai raccourci.
Merci d'avance !

linkakro le 30/11/2014 à 16:16
Je vois une seule alternative de défaite. Tu devrais en avoir une par joueur.
Ou bien tu as oublié la préposition "de" dans ta phrase "de même".
Tu n'as pas besoin d'afficher deux fois la variable S. De plus compter les esquives de chaque joueur pour les différencier ne servirait à rien puisque le premier qui n'esquiverait pas mourrait. Et compter les sauts utiles relève du hasard pour un joueur qui par hasard est déjà en face d'un espace vide.
Je trouve plus simple de refaire le programme moi-même et d'en profiter pour enlever le EffEcr afin d'améliorer l'algorithme sur presque tous les tableaux.
Le seul défaut que je concède est la répétition des conditions de fin. Mais on est pas en Basic ni en C, hein, gardez de bonnes habitudes sans utiliser d'équivalent de break et goto, le TI-Basic n'est pas du Basic.
Code
// Oui j'ai modifié l'algorithme et les crédits.
PROGRAM:WALLJUMP
:1->dim(lWALLJ)
:EffEcr
:Output(1,5,"WALLJUMP
:Output(2,1,"GAME BY S.L
:Output(3,9,"(C) 2012
:Output(4,4,"POUR TI 82/83
:Output(6,1,"ET AMELIORE PAR
:Output(7,1,"TOUT82
:Pause
:EffEcr
:For(A,1,8 // no problemo pour une boucle dans l'init
:Output(A,1,"I
:Output(A,16,"I
:End
:0->S
:7->A
:2->B // A et B le joueur 1
:7->G
:15->H // G et H le joueur 2
:1->X
:4->Y
:2->Z
:15->V
// j'ai placé les conditions de fin dans la condition de boucle
:Repeat K=45 ou A=X et B=Z ou A=Y et B=V ou Rép
// pas de EffEcr, permet d'éviter de dessiner les murs
// il faut juste effacer le reste
// je déplace les affichages et effacement
//////
// ici efface les objets précédents
// n'oubliez pas chaque espace
// mais les seconds guillemets sont facultatifs
:Output(X,Z," "
:Output(Y,V," "
:Output(A,B," "
:Output(G,H," "
// calculs
:If X=9:entAléat(1,2->X
:If Y=9:entAléat(1,2->Y
:If X=Y ou X+1=Y ou X-1=Y ou Y+1=X ou Y-1=X:X+1->X
:codeTouche->K
:S+1->S
:X+1->X
:Y+1->Y
:If K=24:2->B
:If K=26:15->B
:If K=21:2->H
:If K=22:15->H
:If K=105:Pause "PAUSE
// ici affiche les nouveaux objets
:Output(X,Z,"]
:Output(Y,V,"[
:Output(A,B,"0
:Output(G,H,"X
:Output(1,8,S
// parce que des gens reprocheront des répétitions de conditions, je triche avec Rép
:G=X et H=Z ou G=Y et H=V
:End
// je déplace toutes les actions de fin à la fin, gain de temps
:EffEcr
:Rép->X
// stocker Rép vous semblera bizarre mais Rép dans la boucle économise des fractions de temps et de mon cade source, mais à partir d'ici j'ai besoin de la sauvegarder
:If S>lWALLJ(1
:S->lWALLJ(1
:If K-45
:Then
:If X
:Then
:Disp "JOUEUR 1 GAGNE
:Else
:Disp "JOUEUR 2 GAGNE
:End
:Disp "SCORE:",S,"HISCORE:",lWALLJ(1
:Pause
:End
labed73 le 23/02/2015 à 21:57
Comment on fait le lWallJ SVP!!!!!!Mingerton le 23/02/2015 à 23:18
Tu peux toujours garder ton calme, voilà la réponse :
il faut d'abord entrer le petit l (c'est un L) des listes, que tu trouveras dans 2nd-Stat->-haut-enter. Ensuite, tu tapes textuellement WALLJ.
Si c'est ce qui te pose problème, les lettres sont lisibles en vert au dessus des touches et accessibles avec alpha-la touche.

labed73 le 24/02/2015 à 21:32
Merci mais je comprend pas, les murs bouge pas et en 5s sa met highscore finMingerton le 25/02/2015 à 19:52
Désolé mais je n'ai pas le temps d'analyser le code, je ne l'ai jamais fait avant. Il va falloir attendre que quelqu'un le fasse avant moi car je ne pourrai pas le faire tout de suite... Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.