Forum

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

(12) Run - Page 1 / 2

Belvar le 14/04/2009 à 20:03
Salut à tous
Run est un petit jeu que j'ai programmé, à la base, c'était juste un petit exercice pour faire un missile à tête chercheuse, puis, grâce à l'avis de plusieurs personnes, je l'ai adapté en véritable jeu.

Le jeu consiste à attraper les "+" disposé aléatoirement sur le terrain, comme un snake, tout en évitant le méchant "*" qui veux vous manger et ne vous lâchera pas d'une semelle, sauf lorsque vous mangerez un +. Le jeu se joue grâce aux flèches directionnelles.

Voci le code :

Code
ClrHome
Output(4,4,"GET READY
Pause
randInt(1,8->X
randInt(1,8->Y
randInt(9,16->S
randInt(1,8->T
0->F:–1->G
Lbl G
randInt(1,8->O
randInt(1,16->N
G+1->G
If G[different de]0:Then
S-(X-S)->S
T-(Y-T)->T
If S>16:16->S
If S<1:1->S
If T>8:8->T
If T<1:1->T
End
Lbl 1
ClrHome
Output(Y,X,"0
Output(T,S,"*
Output(O,N,"+
If Y=T and S=X:Goto P
If Y=O and X=N:Goto G
If S>X:S-1->S
If S<X:S+1->S
If T>Y:T-1->T
If T<Y:T+1->T
0->K
getKey->K
If K=24 and X[different de]1:X-1->X
If K=26 and X[different de]16:X+1->X
If K=25 and Y[different de]1:Y-1->Y
If K=34 and Y[different de]8:Y+1->Y
If K[superieur ou egal]24 and K[inferieur ou egal]26 or K=34:F+1->F
Goto 1
Lbl P
ClrHome
Output(3,1,"PERDU
Output(4,1,"FRAMES :
Output(5,1,"GUMS :
Output(4,10,F
Output(5,8,G


Et pour télécharger le fichier en .83p, cliquez ici !
denis le 15/04/2009 à 10:45
Svp, j'ai une ti 82 de base
je voulais juste savoir si randint(.. ça existe ou pas sur la 82
Parce que je ne le trouve pas...
Voila merci happy.gif
Belvar le 15/04/2009 à 10:53
Non, la fonction n'existe pas mas on peut la remplacer
Met donc à la place des randInt( ceci :
Code

int(8rand+1->X
int(8rand+1->Y
int(8rand+1->T
int(8rand+9->S


les fonctions se trouvent en appuyant sur la touche "math"
denis le 15/04/2009 à 12:36
Merci de la réponse
louis54810 le 25/10/2009 à 20:41
Bonsoir, alors moi j'ai une erreur domine sur la ligne:
Output(O,N,"+
Sur le "+" je ne sais pas pourquoi, besoin d'aide merci
sypotu le 25/10/2009 à 23:01
Vérifie les lignes 10 et 11
sinon donne nous les valeurs de O et N
louis54810 le 25/10/2009 à 23:40
Alors comme il n'y avait pas dit comment ire sur la stats fr j'ai écrit ca pour les lignes 10 et 11:
ent(8nbraléat+8->0
ent(8nbraléat+16->N
Je pense que j'ai exactement du me trompé là maisil n'y avait pas écrit comment faire pour ces lignes.
Encore merci de ta réponse
dysto le 26/10/2009 à 00:09
J'ai traduit le code pour ma TI82 stats .fr, voici le code :

Code

:EffEcr
:Output(4,4,"GET READY
:Pause
:ent(8NbrAléat+1->X
:ent(8NbrAléat+1->Y
:ent(8NbrAléat+1->T
:ent(8NbrAléat+9->S
:0->F:–1->G
:Lbl G
:ent(8NbrAléat+1->O
:ent(16NbrAléat+1->N
:G+1->G
:If G[different de]0:Then
:S-(X-S)->S
:T-(Y-T)->T
:If S>16:16->S
:If S<1:1->S
:If T>8:8->T
:If T<1:1->T
:End
:Lbl 1
:EffEcr
:Output(Y,X,"0
:Output(T,S,"*
:Output(O,N,"+
:If Y=T and S=X:Goto P
:If Y=O and X=N:Goto G
:If S>X:S-1->S
:If S<X:S+1->S
:If T>Y:T-1->T
:If T<Y:T+1->T
:0->K
:codeTouche->K
:If K=24 and X[different de]1:X-1->X
:If K=26 and X[different de]16:X+1->X
:If K=25 and Y[different de]1:Y-1->Y
:If K=34 and Y[different de]8:Y+1->Y
:If K[superieur ou egal]24 and K[inferieur ou egal]26 or K=34:F+1->F
:Goto 1
:Lbl P
:EffEcr
:Output(3,1,"PERDU
:Output(4,1,"FRAMES :
:Output(5,1,"GUMS :
:Output(4,10,F
:Output(5,8,G


Le jeu marche mais l'intérêt est moindre, la jouabilité très mauvaise et le * qui te pourchassent beaucoup trop rapide.
louis54810 le 26/10/2009 à 00:38
Merci merci beaucoup et oui il cours vraiment trop vite le * :/ Dommage enfin bon encore merci =)
dysto le 29/10/2009 à 18:17
J'ai fait une nouvelle version plus facile. Je rajoute encore des trucs et je la poste dans la soirée ^^ !
WoKeRnOZ le 10/11/2009 à 18:54
J'lattends toujours bigmouth.gif
sypotu le 10/11/2009 à 19:44
Ouai dysto elle est longue ta soirée bigmouth.gif
dysto le 10/11/2009 à 21:40
Mouarf lol, j'ai eu quelques problèmes mais la je m'y remet et je vous la poste demain (avec peut-être quelques bugs ... mwahahahaha xD)
dysto le 11/11/2009 à 17:21
Bon ben j'ai pas mal d'erreurs mais je vois pas trop pourquoi et la ça me lasse un peu alors si quelqu'un veut prendre le relais, voici le code en l'état actuel :

Code

:EffEcr
:Lbl 5
:Menu("QUE FAIRE ?","JOUER",J,"PARTIR",Q
:Lbl J
Menu ("DIFFICULTE:","FACILE",U,"MOYEN",M,"DIFFICILE",D,"IMPOSSIBLE !",R
:Output(4,4,"GET READY"
:Pause
:entAléat(1,5)->X
:entAléat(1,8)->Y
:Lbl U
:entAléat(1,8)->T
:16->S
:entAléat(1,8)->O
:entAléat(1,4)->N
:0->F:1->U
:Goto 1
:Lbl M
:entAléat(1,8)->T
:13->S
:entAléat(1,8)->O
:entAléat(1,5)->N
:0->F:1->M
:Goto 1
:Lbl D
:entAléat(1,8)->T
:10->S
:entAléat(1,8)->O
:entAléat(1,6)->N
:Goto 1
:Lbl R
:entAléat(1,8)->T
:8->S
:entAléat(1,8)->O
:entAléat(1,7)->N
:0->F:1->R
:Goto 1
:Lbl 1
:EffEcr
:Output(Y,X,"0
:Output(T,S,"*
:Output(O,N,"+
:If Y=T et S=X:Goto P
:If Y=O et X=N:Goto U
:codeTouche->K
:If K=24 et X[différent de]1:X-1->X
:If K=26 et X[différent de]16:X+1->X
:If K=25 et Y[différent de]1:Y-1->Y
:If K=34 et Y[différent de]8:Y+1->Y
:If K[supérieur ou égal]24 et K[inférieur ou égal]26 ou K=34:F+1->F
:Goto 1
:Lbl P
:EffEcr
:Output(3,1,"PERDU
:Output(4,1,"FRAMES :
:Output(5,1,"GUMS :
:Output(4,10,F
:Output(5,8,G
:Pause
:Goto 5
:Lbl Q
:EffEcr
:Output(1,1,"


J'ai une erreur domaine après le "0" de la ligne
Code
:Output(Y,X,"0


@dysto
sypotu le 11/11/2009 à 17:40
ok je le copie dans la soirée winkle.gif
sypotu le 11/11/2009 à 20:20
le pb c'est que ce qui est entre le 2ème Menu et le Lbl U n'est jamais exécuté...
dysto le 11/11/2009 à 21:04
Arrrf oui, j'avais pas réfléchi, pour ça qu'il y a erreur à 0...
Bon je modifie ça et vous dit si ça roule.
dysto le 11/11/2009 à 21:10
Ça marche, il reste plus qu'à corriger concernant la lettre "G" pour le nombre de gums car il y a plusieurs niveau de difficulté :/ !
Il y a aussi le "*" qui ne bouge pas et ça, je sais pas pourquoi ^_^ !
sypotu le 11/11/2009 à 22:20
Pour le * qui ne bouge pas c'est normal puis que tu as oublié la partie qui fait varier S et T happy.gif
dysto le 14/11/2009 à 15:42
Voila le programme terminé, à vos calculettes les z'amis !


Code

:Lbl 5
:EffEcr
:0->F
:0->W
:0->L
:4->dim(L4
:Menu("QUE FAIRE ?","JOUER",J,"HIGHSCORES",E,"PARTIR",Q
:Lbl E
:Menu("HIGHSCORES","FACILE",I,"MOYEN",9,"DIFFICILE",B,"IMPOSSIBLE !",C
:Lbl I
:Output(2,2,"VOTRE MEILLEUR
:Output(4,3,"SCORE EST :
:Output(6,7,L4(1
:Pause
:Goto 5
:Lbl 9
:Output(2,2,"VOTRE MEILLEUR
:Output(4,3,"SCORE EST :
:Output(6,7,L4(2
:Pause
:Goto 5
:Lbl B
:Output(2,2,"VOTRE MEILLEUR
:Output(4,3,"SCORE EST :
:Output(6,7,L4(3
:Pause
:Goto 5
:Lbl C
:Output(2,2,"VOTRE MEILLEUR
:Output(4,3,"SCORE EST :
:Output(6,7,L4(4
:Pause
:Goto 5
:Lbl J
Menu ("DIFFICULTE:","FACILE",Z,"MOYEN",M,"DIFFICILE",D,"IMPOSSIBLE !",R
:Lbl Z
:1->W
:entAléat(1,5)->X
:entAléat(1,8)->Y
:16->S
:entAléat(1,8)->T
:entAléat(1,8)->O
:entAléat(1,4)->N
:Goto 1
:Lbl M
:2->W
:entAléat(1,5)->X
:entAléat(1,8)->Y
:13->S
:entAléat(1,8)->T
:entAléat(1,8)->O
:entAléat(1,5)->N
:Goto 1
:Lbl D
:3->W
:entAléat(1,5)->X
:entAléat(1,8)->Y
:10->S
:entAléat(1,8)->T
:entAléat(1,8)->O
:entAléat(1,6)->N
:Goto 1
:Lbl R
:4->W
:entAléat(1,5)->X
:entAléat(1,8)->Y
:8->S
:entAléat(1,8)->T
:entAléat(1,8)->O
:entAléat(1,7)->N
:Goto 1
:Lbl 1
:If L=1
:Goto 2
:Output(4,4,"GET READY
:Pause
:1->L
:Goto 1
:Lbl 2
:EffEcr
:Output(Y,X,"0
:Output(T,S,"*
:Output(O,N,"+
:If Y=T et S=X:Goto P
:If Y=O et X=N:Goto U
:If S>X:S-1->S
:If S<X:S+1->S
:If T>Y:T-1->T
:If T<Y:T+1->T
:0->K
:codeTouche->K
:If K=24 et X[différent de]1:X-1->X
:If K=26 et X[différent de]16:X+1->X
:If K=25 et Y[différent de]1:Y-1->Y
:If K=34 et Y[différent de]8:Y+1->Y
:If K=105:Goto 8
:Goto 1
:Lbl U
:F+1->F
:If W=1
:Goto Z
:If W=2
:Goto M
:If W=3
:Goto D
:If W=4
:Goto R
:Lbl P
:EffEcr
:Output(3,1,"PERDU
:Output(4,1,"SCORE :
:Output(4,10,F
:If F>L4(1) et W=1
:F->L4(1)
:If F>L4(2) et W=2
:F->L4(2)
:If F>L4(3) et W=3
:F->L4(3)
:If F>L4(4) et W=4
:F->L4(4)
:Pause
:EffEcr
:Goto 5
:Lbl 8
:Menu("PAUSE","REPRENDRE",2,"RECOMMENCER",5,"SCORE ACTUEL",6,"PARTIR",Q
:Lbl 6
:EffEcr
:Output(2,3,"VOTRE SCORE
:Output(4,4,"ACTUEL EST
:Output(6,8,F
:Pause
:Goto 8
:Lbl Q
:EffEcr
:Output(1,1,"


PROGRAMME ENTIÈREMENT TERMINE ! clown.gif !
WoKeRnOZ le 14/11/2009 à 16:22
Euh.. Vu mon niveau en prog j'vais pas te corriger mais plutot repondre par "une autre question"

Lbl 1
:If L=1
:Goto 2
:If L=0
:Output(4,4,"GET READY
:Pause
:Goto 2
:Lbl 2
:EffEcr
:Output(Y,X,"0
:Output(T,S,"*
:Output(O,N,"+
:If Y=T et S=X:Goto P
:If Y=O et X=N:Goto U
:If S>X:S-1->S
:If S<X:S+1->S
:If T>Y:T-1->T
:If T<Y:T+1->T
:0->K
:codeTouche->K
:If K=24 et X[différent de]1:X-1->X
:If K=26 et X[différent de]16:X+1->X
:If K=25 et Y[différent de]1:Y-1->Y
:If K=34 et Y[différent de]8:Y+1->Y
:Goto 1
:Lbl U
:F+1->F
:1->L

Je comprends pas pourquoi tu l'as mis la?
La boucle s'effectue ou y'a le bleu non?
Alors L peut pas prendre la valeur 1 avant la condition en vert? :o

Merci minied.gif
dysto le 14/11/2009 à 17:45
Ça a rien a voir me semble mais tu me met le doute mdr !

ssyyypoootttuuu my friend ! Help me bigmouth.gif !
Rézus le 14/11/2009 à 17:50
Ben oui,WoKeRnOZ a raison,il serait mieux placé entre le Output(4,4,"GET READY et la Pause.

Ps:Tu peux enlever le If L=0 qui est eu dessus et le Goto 2 qui est en dessous de la Pause.
dysto le 14/11/2009 à 17:53
A ouais mais maintenant je reste bloqué sur le "GET READY" =S !
dysto le 14/11/2009 à 17:57
Problème réglé, j'ai bidouillé et ça marche niquel, j'édit le programme.
Le programme marche officiellement parfaitement bien, vous pouvez le taper bigmouth.gif !
WoKeRnOZ le 14/11/2009 à 18:03
Okay bigmouth.gif
sypotu le 14/11/2009 à 18:45
OK my friend bigmouth.gif
dysto le 14/11/2009 à 19:34
I hope you will like it bigmouth.gif !
sypotu le 14/11/2009 à 20:16
I LOVE IT !!! bigmouth.gif

rajoute aussi un menu pause winkle.gif
dysto le 14/11/2009 à 20:28
Okay chef, la je bosse dessus et sur la sauvegarde des scores ^_^ !
dysto le 15/11/2009 à 12:26
Highscores intégrés, je passe au Menu pour arrêter le jeu en plein milieu.
sypotu le 15/11/2009 à 17:08
Super merci bigmouth.gif
dysto le 15/11/2009 à 18:30
Bon, j'ai besoin que l'on éclaire ma lanterne bigmouth.gif pour le Menu pause :

J'ai rajouté juste après le :If K=31 et Y[diffèrent de]8:Y+1->Y et :Goto 1 :
Code

:If K=105
:Lbl G
:Menu("PAUSE","REPRENDRE",3,"RECOMMENCER",4,"SCORE ACTUEL",6,"QUITTER",Q
:Lbl 4
:Goto 5
:Lbl 6
:Output(2,3,"VOTRE SCORE
:Output(4,4,"ACTUEL EST
:Output(6,10,F
:Pause
:Goto G


J'ai un problème et une question :

Problème : Pendant le jeu, j'ai beau appuyer sur [entrer] (codeTouche 105), rien ne se passe...
Question : Comment faire pour que si je choisis "REPRENDRE" il revienne précisément au moment ou l'utilisateur a appuyé sur [entrer] ?

Merci d'avance bigmouth.gif !
WoKeRnOZ le 15/11/2009 à 18:56
Je sais plus le debut du code alors je suis pas sur de ce que je vais dire crazy.gif

Donc. P'tetre que si tu fais goto 1 avant de mettre le if K=105, cette commande ne s'executera pas? (parce que tu fais goto 1 juste avant..)

POur reprendre, (je pense) que tu devrais faire :
Code
Menu("....","Reprendre",X,"......",.,"....",.
Lbl X

Tu vois?
Genre tu met les options que tu veux, et tu met un lbl juste apres, pour que l'execution du programme reprenne comme si t'avais pas appuyer sur enter

Sa va? eyeonly.gif
dysto le 15/11/2009 à 19:39
On va s'essayer ça, merci WoKer bigmouth.gif !
WoKeRnOZ le 15/11/2009 à 20:04
cry.gif cry.gif cry.gif
uhuuuuuuuuuuh
Je m'appelle Wok , Woker, ou wokernoz bigmouth.gif
ahh.gif Mais pas woder frozen.gif frozen.gif


(De rien happy.gif )
dysto le 15/11/2009 à 20:18
Édité bigmouth.gif !

Alors ok ça marche mais le problème c'est que je lance le jeu (après le get ready) paf il me met direct le menu pause sans que j'ai rien demandé !
sypotu le 15/11/2009 à 20:43
ouai ou bien tu le met avant le goto 1 (ne pourait t-il pas être goto 2) comme ça ca t'économise un Lbl

met un Then aprés le if T=105 et le end après le menu
WoKeRnOZ le 15/11/2009 à 20:47
OoPs wii pardon :p minied.gif

J'ai oublié d'les mettre..
C'est de la que venais le probleme?
sypotu le 15/11/2009 à 20:54
oui car un if sans then conditionne la commande juste en dessous, la c'était le Lbl et non le menu winkle.gif
dysto le 16/11/2009 à 20:32
J'ai essayé vos méthodes et pas mal d'autre mais rien n'y fait, aiiiddeeezzz moi crazy.gif !
sypotu le 16/11/2009 à 22:45
Voilà :
en dessous du Y+1->Y :
If T=105:Goto M

entre goto 5 et lbl Q :
Lbl M
Menu("PAUSE","REPRENDRE",2,"RECOMMENCER",5,"SCORE ACTUEL",6,"QUITER",Q
Lbl 6
Output . . .
. . .
. . .
Pause
Goto M

Ça devrait marcher mon pote winkle.gif
dysto le 16/11/2009 à 23:33
Comme toujours t'es l'meilleur sypotu !
Programme normalement terminé, merci à tout ceux qui m'ont aidés bigmouth.gif !
Ankl le 20/11/2009 à 17:18
Bonjour dysto es qu'il serait possible que tu remet tout le programme corrigé winkle.gif biensur pour la TI 82 stat.fr
Merci a toi
dysto le 20/11/2009 à 17:42
Il est en page 1 vers la fin entièrement complet winkle.gif !
Ankl le 21/11/2009 à 07:56
Merci happy.gif happy.gif happy.gif happy.gif
Ankl le 21/11/2009 à 18:29
J'ai une question, comment on fait pour mettre le caractère "L4" vue que décrire L plus 4 ne marche pas .. Merci
BouKen le 21/11/2009 à 18:38
2nde + 4 winkle.gif
Ankl le 21/11/2009 à 18:48
Merci j'ai oublier winkle.gif
sephirothkun le 02/12/2009 à 20:28
comment on fait -> car - puis > (grace a [2nd] + [math]) ne marche pas