Poster un nouveau sujet Poster une réponse Page: 1, ,      >>
Mario By Diego
Auteur Message
diegowar



Autorisation : Membre
Nb de messages : 5
Inscrit le : Lun 23 Avr 2007, 16:56
Posté le : Lun 23 Avr 2007, 18:30   Citer 

Ma version de Mario (j'en ai vu une autre quelque part).

Elle fonctionne a peut près correctement, sauf que ça rame un peu, je conseille donc le TI-83+ , mais sur la TI-82 (que j'ai), c'est pas horrible non plus. L'algorythme qui créer la gravité est très basique, ce qui prend de la ram c'est l'algorythme qui gère les collisions (et qui n'est pas encore parfait au passage). Je vous ai fait un éditeur si vous avez la flemme d'ajouter des niveaux dans le programme (mais il faut déjà comprendre comment il marche pour ça happy.gif ).

Ce programme n'est pas terminé aussi le jeu devrait planter une fois que vous avez terminé le niveau 6 (car il n'y a que 6 niveau pour le moment). Ce sont de très court niveaux qui prennent un seul écran, j'avais essayer de créer un défilement d'écran, mais niveau ram, c'est impossible de le faire sans avoir à attendre 4 secondes à chaque fois alors...

On a qu'une vie car j'ai trouvé que le jeu est relativement facile (sur TI-82 où c'est assez lent en tout cas).

Je vous ai épargné le manuel de jeu qui explique comment jouer et les commande, avec le programme fait 3500 octets, là il doit faire 2000 à 2500 octets.

Les commandes :
Dans le jeu :
-Flèches directionnelles
Dans l'éditeur :
-Flèches directionnelles
-"-" : 1 (sol)
-"*" : 2 (picant)
-" " : 0 (vide)
-"E" : 3 (position de fin du niveau)
-"S" : 4 (position de départ du niveau)
-"^" : 5 (tremplin)
-Jouer sur la Map (attention on ne peut jouer qu'une fois) : Clear

Faute que ça ramait déjà beaucoup, je ne me suis pas arrangé pour qu'on puisse tomber dans le vide, aussi arrangez vous pour que la dernière ligne n'ai aucun trou.


Code

:{8,16}->dim([A])
:0->E
:Menu("MARIO","JOUER",J,"EDITEUR","E","QUITTER",L)
:Lbl L
:ClrHome
:Output(4,4,"BYE..."
:Stop
:End
:Lbl E
:ClrHome
:1->V:1->W
:8->Y:16->Z
:1->S:1->T
:Fill(0,[A])
:3->[A](Y,Z]
:4->[A](S,T)
:Output(8,16,"E
:While 1=1
:If (K=24 and W!=1) or (K=25 and V!=1) or (K=25 and W!=16) or (K=34 and V!=8)
:Then
:If [A](V,W)=0
:Output(V,W," "
:If [A](V,W)=1
:Output(V,W,"-"
:If [A](V,W)=2
:Output(V,W,"*"
:If [A](V,W)=3
:Output(V,W,"E"
:If [A](V,W)=4
:Output(V,W,"S"
:If [A](V,W)=5
:Output(V,W,"^"
:End
:If K=24 and W!=1
:W-1->W
:If K=24 and V!=1
:V-1->V
:If K=26 and W!=16
:W+1-W
:If K=34 and V!=8
:V+1->V
:If K=92 and [A](V,W)!=3 and [A](V,W)!=4
:1->[A](V,W)
:If K=93 and [A](V,W)!=3 and [A](V,W)!=4
:2->[A](V,W)
:If K=102 and [A](V,W)!=3 and [A](V,W)!=4
:0->[A](V,W)
:If K=94 and [A](V,W)!=4
:Then
:Output(Y,Z," "
:0->[A](Y,Z)
:V->Y:W->Z
:3->[A](V,W)
:End
:If K=93 and [A](V,W)!=3
:Then
:Output(S,T," "
:0->[A](S,T)
:V->S:W->T
:4->[A](V,W)
:End
:If K=83 and [A](V,W)!=3 and [A](V,W)!=4
:5->[A](V,W)
:Output(V,W,"X"
:0->K
:getKey->K
:If K=45
:Then
:For(A,1,8)
:For(B,1,16)
:If [A](A,B)=3 or [A](A,B)=4
:0->[A](A,B)
:End
:End
:S->I:T->J
:Y->O:Z->P
:1->E
:Goto C
:End
:End
:Lbl J
:ClrHome
:0->Q
:Lbl B
:Q+1->Q
:Fill(0,[A])
:If Q=1
:Then
:For(A,1,16)
:1->[A](8,A)
:End
:1->[A](6,7)
:1->[A](5,11)
:1->[A](5,16)
:2->[A](8,13)
:2->[A](8,14)
:2->[A](8,15)
:4->O:16->P
:Goto C
:End
:If Q=2
:Then
:For(A,1,16)
:1->[A](8,A)
:End
:1->[A](6,5)
:1->[A](5,2)
:1->[A](5,6)
:1->[A](4,9)
:1->[A](3,13)
:1->[A](2,16)
:For(A,2,16,2)
:2->[A](8,1)
:End
:1->O:16->P
:Goto C
:End
:If Q=3
:Then
:For(A,1,16)
:2->[A](8,A)
:End
:1->[A](7,1)
:1->[A](4,2)
:1->[A](7,7)
:1->[A](5,9)
:1->[A](4,13)
:1->[A](3,16)
:2->O:16->P
:Goto C
:End
:If Q=4
:Then
:For(A,1,16)
:2->[A](8,A)
:End
:1->[A](8,1)
:1->[A](5,3)
:1->[A](2,4)
:For(A,2,7)
:2->[A](A,6)
:2->[A](A,9)
:End
:2->[A](2,8)
:2->[A](5,7)
:2->[A](7,8)
:2->[A](1,7)
:7->O:7->P
:Goto C
:End
:If Q=5
:Then
:For(A,1,10)
:1->[A](8,A)
:End
:For(A,11,16)
:2->[A](8,A)
:End
:2->[A](6,4)
:2->[A](5,4)
:2->[A](4,4)
:2->[A](3,5)
:2->[A](7,6)
:2->[A](6,6)
:2->[A](7,7)
:2->[A](6,9)
:2->[A](5,9)
:2->[A](4,8)
:2->[A](3,6)
:2->[A](3,7)
:2->[A](8,2)
:2->[A](7,15)
:2->[A](2,8)
:2->[A](5,15)
:2->[A](7,14)
:2->[A](6,14)
:2->[A](3,8)
:6->O:15->P
:Goto C
:End
:If Q=6
:Then
:For(A,1,16)
:2->[A](8,A)
:End
:4->[A](2,1)
:5->[A](3,3)
:5->[A](6,8)
:5->[A](5,9)
:5->[A](6,12)
:5->[A](5,14)
:5->[A](3,15)
:5->[A](1,16)
:5->[A](1,13)
:5->[A](1,10)
:1->[A](2,7)
:1->O:7->P
:Goto C
:End
:Lbl C
:0-K:0->N:0->M:0->L
:ClrHome
:For(A,1,8)
:For(B,1,16)
:If [A](A,B)=1
:Output(A,B,"-"
:If [A](A,B)=2
:Output(A,B,"*"
:If [A](A,B)=5
:Output(A,B,"^"
:End
:End
:Lbl A
:If E=0
:Then
:3->I:1->J
:End
:If Q=6
:Then
:1->I:1->J
:End
:0->N:0->L:0->M
:While 1=1
:If I=0 and J=P
:Then
:If E=0
:Then
:Goto B
:Else
:Goto V
:End
:End
:If I>0
:Then
:If [A](I,J)=5
:Then
:2->N
:0->[A](I,J)
:End
:If [A](I+1,J)=2
:Goto K
:If ([A](I+1,J)=0 or [A](I+1,J)=5) and N=0
:1->M
:End
:If I<1 and N=0
:1->M
:If K=25
:Then
:If [A](I+1,J)=1
:Then
:If I!=1
:Then
:If [A](I-1,J)=0 or [A](I-1,J)=5
:3->N
:Else
:3->N
:End
:End
:End
:If K=24 and J!=1
:3->L
:If K=26 and J!=16
:4->L
:If L!=0 or M!=0 or N!=0
:Then
:If I>0
:Output(I,J," "
:If N!=0
:Then
:If I>1
:Then
:If [A](I-1,J)=0 or [A](I-1,J)=5
:Then
:I-1->I:N-1->N
:Else
:If [A](I-1,J)=2
:Goto K
:0->N
:End
:Else
:I-1->I:N-1->N
:End
:End
:If M=1
:I+1->I
:If L=3
:Then
:If I>0
:Then
:If [A](I,J-1)=2
:Goto K
:If [A](I,J-1)=0 or [A](I,J-1)=5
:J-1->J
:Else
:J-1->J
:End
:End
:If L=4
:Then
:If I>0
:Then
:If [A](I,J+1)=2
:Goto K
:If [A](I,J+1)=0 or [A](I,J+1)=5
:J+1->J
:Else
:J+1->J
:End
:End
:End
:If I>0
:Output(I,J,"M"
:0->L:0->M
:getKey->K
:End
:Lbl V
:Output(4,4,"WELL DONE !"
:Pause
:PrgmMario
:Lbl K
:Output(4,5,"YOU DEAD MAN"
:Stop



!= : Différent de

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Lun 23 Avr 2007, 19:33   Citer 

Les nouveaux mettent la barre haut !! laugh.gif

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
diegowar



Autorisation : Membre
Nb de messages : 5
Inscrit le : Lun 23 Avr 2007, 16:56
Posté le : Lun 23 Avr 2007, 19:41   Citer 

Mais non je programme depuis que je suis en seconde (là je suis en 1ere S).

Je me souviens, pendant toute l'année de seconde, j'avais crée une dizaine de "Reflex" très variés (dont certains vrais bijoux happy.gif ). Tout est passé à la trappe depuis ^^. J'ai aussi à mon actif un jeu de dame, de ping pong, pleins de jeux de société (genre bataille navale...), mais tout a été supprimé recemment, marre de suer à créer des programmes qui ne dépassent pas 1500 octets happy.gif

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Ven 27 Avr 2007, 16:17   Citer 

J'ai plusieurs questions par rapport à ton pogramme.
D'une part si j'ai ien compris, l'éditeur sert à faire un niveau ?
Ca veur dire quoi jouer sur la map ?
Et puis il y a un truc que je comprend pas. Au bout d'un moment, il faut qu'un nombra ait pour factorielle 4, or à ma connaissance, aucun ombra n'a pour factorielle 4.
Et puis j'aurais sûrement d'autres questions vu que le programme ne fonctionne pas (j'ai surement du ma tromper en recopiant).

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
diegowar
Invité
Posté le : Sam 28 Avr 2007, 13:11   Citer 

L'éditeur sert à construire un niveau sans utiliser les nombres, mais juste les bouton (le programme traduit ce qu'on appuie dans une matrice (et 2 variables) qui sont ce qu'il faut au programme pour lancer un niveau. Une fois que le niveau est fini, le programme cherche d'emblée à aller au prochain niveau, alors pour éviter ça j'ai mis que si la booléenne de l'éditeur est activée (je ne sais pas du tout laquelle c'est ^^), quand on fini le niveau, le programme s'arrête (et quand on meurt le programme s'arrête de toute façon). Donc on ne pourra jouer sur la map (c'est à dire la carte, j'entend par là le niveau happy.gif ) qu'une seule fois, qu'on gagne ou qu'on perde. Si on veut y rejouer, il faut entrer dans le programme, et mettre un goto qui va direct au label qui rend le niveau jouable car celui-ci ne devrait pas être effacé de la mémoire immédiatement aprés.

Je n'utilise aucune factorielle dans le programme, j'ai lancé la recherche pour les "!" dans le code que j'ai recopié, et je n'ai vu que des "!=" et aucune factorielle.

Si le programme ne fonctionne pas, c'est peut être aussi à cause de moi, je l'ai recopié très rapidement (et je me suis vu me corriger sur la ligne d'avant que j'étais en train d'écrire, alors peut être ai-je fais des oubli (mais je suppose que si je me suis trompé, ça se verrait plutot dans une syntax error)).


Sinon merci de ton intérêt happy.gif

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
diegowar



Autorisation : Membre
Nb de messages : 5
Inscrit le : Lun 23 Avr 2007, 16:56
Posté le : Sam 28 Avr 2007, 13:12   Citer 

Je crois à chaque fois qu'en tapant diegowar, le forum va me compter comme loggé moodforlove.gif

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Sam 28 Avr 2007, 14:20   Citer 

Ok, mais le "!" est le symbole des factorielles !! Donc si il y a des "!" dans le programme c'est qu'il utilise des factorielles !! crazy.gif

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
stargateatlantis18**



Autorisation : Membre
Nb de messages : 3
Inscrit le : Mer 16 Sep 2009, 15:33
Posté le : Ven 18 Sep 2009, 20:17   Citer 

Je n'arrive pas a faire marcher mario:
pour l'étiquette il me m'est un x en haut a gauche que je peut deplacer quer en bas et en haut et a la place du x en haut as gauche il me m"est un s.
Pour le jeu je ne peut pas reculer et je n'arrive pas a cahnger de niveaux car je peut me ballder que dans la fenetre donc que sur les 3 "-".
Help. merci d'avance.

Les "." sont du vide

___________________
|X...........................|
|.............................|
|.............................| -> si je deplace le X vers le bas il me met un S
|.............................|
|.............................|
|_________________E|





__________________
|............................|
|............................|
|............................| <- je ne peut pas passer la fin du graphique
|........-.....-..-..........|
|....-.......................|
|M___________***___|

 Adresse email Haut de page Bas de page 
 
|Zhangfei|
Invité
Posté le : Jeu 20 Sep 2012, 21:09   Citer 

Salut, je sais pas si ça pose probème à l'un d'entre vous mais moi du moins, dès que je le lance, il me met Err:Syntaxe, je fait 2:voir et je voit que ce sont les [A] qui ne marchent pas, alors je sais pas si je doit pas les remplacer par quelques choses d'autres car je ne m'y connait pas trop en programme, je sais juste recopier moodforlove.gif (j'ai une ti-82 Stats.fr). Merci si vous pouviez m'aidez, parce que sinon je me suis taper 2577 octets pour que ça ne marche pas dès la première ligne donc ça me fait un peu mal aux fesses. A+

  Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 661
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Jeu 20 Sep 2012, 21:15   Citer 

Le [A] se trouve dans matrice et n'est pas [ + A + ]. winkle.gif

 Adresse email Haut de page Bas de page 
 
Zhangfei
Invité
Posté le : Sam 22 Sep 2012, 18:09   Citer 

Wow, réponse vachement rapide, je me disait que j'allais attendre vachement longtemps puisque le dernier post datait de septembre 2009 bigmouth.gif Merci bien, A+

  Haut de page Bas de page 
 
eArnoow



Autorisation : Membre
Nb de messages : 93
Inscrit le : Dim 16 Sep 2012, 14:20
Posté le : Sam 22 Sep 2012, 18:12   Citer 

Oui mais quand tu réponds le post est uppé et le sujet va en première page (comme sur tous les forums), donc on le voit vite fait.

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 661
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Sam 22 Sep 2012, 20:59   Citer 

C'est parce que j'étais pas là en 2009. laugh.gif

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Lun 08 Oct 2012, 22:14   Citer 

Escuse moi, mais j'ai une erreur de dimention invalide

Code
If I>0
:Then
:If [A](I,J)=5
:Then
:2->N
:0->[A](I,J)
:End
:If [A](I+1,J)=2  <==== ICI
:Goto K
:If ([A](I+1,J)=0 or [A](I+1,J)=5) and N=0
:1->M
:End


J'ai chercher mais je ne trouve pas la réponse et j'ai relu tout le code sans trouver quoi que ce sois ... ^^

----------------------
I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid
 Adresse email Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 08 Oct 2012, 22:16   Citer 

Quel sont les valeur de I et J ?

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Lun 08 Oct 2012, 22:19   Citer 

I=8
J=1

----------------------
I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid
 Adresse email Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 08 Oct 2012, 22:21   Citer 

Vérifie que tu as bien affecté 1 à I (il ne doit pas être supérieur à 7 cupsmiley.gif )

EDIT: ou 3 (ça dépent crazy.gif )

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Lun 08 Oct 2012, 22:25   Citer 


Code
If Q=6
:Then
:1->I:1->J
:End



Ici ?

----------------------
I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 08 Oct 2012, 22:29   Citer 

Et juste au dessus oui happy.gif

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Mar 09 Oct 2012, 9:23   Citer 

ouai tout est bon là ^^

----------------------
I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Poster un nouveau sujet Poster une réponse Page: 1, ,      >>





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