Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Mer 04 Juil 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!
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!
Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Mer 04 Juil 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
Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Ven 06 Juil 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.free.fr/forum/sujet.php?sujet=2929&page=2
Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Ven 06 Juil 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
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 09 Juil 2012, 13:28
Citer
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.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 10 Juil 2012, 14:21
Ce jeu est symapthique.
J'ai cherché comment l'enrichir mais je sature.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
Posté le : Mar 10 Juil 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.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 10 Juil 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.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
Posté le : Dim 15 Juil 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 çà ?
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.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 30 Sep 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 7
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 08 Oct 2012, 21:49
Il faut écrire LWALLJ avec le L du menu 2nde+stat(liste)+droite+haut ou 2nde+0(catalogue)+L+entrer
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Lun 08 Oct 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 Invité
Posté le : Lun 08 Oct 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:End
Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Mar 09 Oct 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
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Jeu 27 Fév 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).
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.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 30 Nov 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
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Mer 25 Fév 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...