Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
VOITURE BY SNAP - Page 1 / 2
snap le 17/10/2011 à 16:34
Salut à tous! et oui encore moi! Je suis productif ces temps ci

Il y a pas longtemps je me suis souvenu d'un jeu que j'avais eu en seconde et j'avais toujours essayé de le refaire mais je n'y arrivais jamais. (Et je pouvais pas voir l'autre jeu car il était bloqué par protect

). Et aujourd'hui Je l'ai fait! J'y suis arrivé! Alors je vous le poste.
VOITURE : (Taille : 239 Octets)
Code
:Effecr
:For(A,1,16
:Output(1,A,"*
:Output(8,A,"*
:If non(PartDéc(A/2:Output(A/2,1,"*
:If non(PartDéc(A/2:Output(A/2,16,"*
:End
:Output(4,2,"VOITURE BY SNAP
:Pause
:EffEcr
:Disp"","","","","","","
:1 -> A
:1 -> B
:1 -> C
:1 -> D
:1 -> E
:8 -> X
:0 -> S
:Repeat X >= A et X <= A+1
:CodeTouche -> K
:Min(16,Max(1,X+(K=26)-(K=24 -> X
:Output(3,X,"0
:S+1 -> S
:B -> A
:C -> B
:D -> C
:E -> D
:EntAléat(1,15 -> E
:Output(7,E,"{}
:Disp "
:End
:EffEcr
:Disp "Perdu! Score :
:S
made2kill le 17/10/2011 à 20:18
C'est pas mauvais et passe-temps mais basique.
Essaie de le faire en graphique. (je maitrîse pas le getkey donc je peux pas le faire)snap le 17/10/2011 à 20:42
wé ok je vais test mais le graphique sa réduit beaucoup la vitesse

mais je vais voir si je peut arriver a le mettre à à peu près la meme vitesse
sandro le 17/10/2011 à 20:52
à quoi sert la ligne des Disp"","","","","","",""," et le Disp" ?
en tout cas c'est bien court comme programme
Sandro
PS : si tu veut le mette en graphique, tu peut à la limite faire avan,cer la voiture de plusieurs pixels à la fois.snap le 18/10/2011 à 10:20
Salut! Sandro, pour les sept fois "", c'est pour que le prochain disp fasse monter l'écran d'un cran ce qui donne l'impression que la voiture avance. Par exemple, essaie de faire un programme ou tu met :
Code
:EffEcr
:Disp "","","","","","","
:For(A,1,50
:69!:69!:69!:69!
:If partDéc(A/2:Output(8,8,"O
:Disp "
:End
Tu comprendra peut-être mieux.
Mais le truc pour faire en graphique c'est que je pourrais plus utiliser la méthode du disp

alors faudra que je change tout^^ Donc je vais surement pasle faire parce que si on change la méthode du disp, sa ira beaucoup moins vite et ce ne sera pas jouable. Après libre à vous d'essayer

Persalteas le 18/10/2011 à 13:32
Pas bête comme idée en fait... j'y aurait pas pensé.

MoonWalk le 18/10/2011 à 20:30
Hoù là ! Bravo ! Très fluide, et la difficulté est ni trop facile ni trop dure !

Bonjour le 18/10/2011 à 21:23
Bonjour! Ma calculatrice affiche erreur à
. Quel est le problème? Merci d'avance!
snap le 18/10/2011 à 21:35
le signe <= et >= veulent dire supérieur ou égal et inférieur ou égal. C'est pas égal + supérieur. C'est les signe que t'as en faisant seconde + math + 4 ou 6sandro le 18/10/2011 à 22:25
Pas mal le truc, je n'ai jamais pensé à décaler le texte affiché à l'aide d'un OutPut grâce à un disp.
Merci beaucoup
sandroPersalteas le 18/10/2011 à 22:46
Ouais, là tu nous apprend une technique ^^
Merci !snap le 19/10/2011 à 11:37
Snap en direct du lycée!
Tout le plaisir est pour moi^^ mais bon cette technique y a pas beaucoup de jeu qui en ont besoin^^
sandro le 19/10/2011 à 12:59
même pour un programme de maths ça peut sevir : si on veut affficher des choses en divers endroit d'unne même ligne, on est obligé d'utiliser des Imput, mais grâce à ta technique, on poura aussi les décaler vers le haut pour en afficher des nouveaux sans tout reafficher.
Sandrosnap le 19/10/2011 à 13:19
Wé pourquoi pas^^ Voila une version avec un meilleur score si jamais quelqu'un veut^^
Code
:1 -> dim(LRA
:Effecr
:For(A,1,16
:Output(1,A,"*
:Output(8,A,"*
:If non(PartDéc(A/2:Output(A/2,1,"*
:If non(PartDéc(A/2:Output(A/2,16,"*
:End
:Output(3,2,"VOITURE BY SNAP
:Output(5,2,"MEILLEUR SCORE
:Output(6,8,LRA(1
:Pause
:EffEcr
:Disp"","","","","","","
:1 -> A
:1 -> B
:1 -> C
:1 -> D
:1 -> E
:8 -> X
:0 -> S
:Repeat X >= A et X <= A+1
:CodeTouche -> K
:Min(16,Max(1,X+(K=26)-(K=24 -> X
:Output(3,X,"0
:S+1 -> S
:B -> A
:C -> B
:D -> C
:E -> D
:EntAléat(1,15 -> E
:Output(7,E,"{}
:Disp "
:End
:EffEcr
:Disp "Perdu! Score :",S
:If S>LRA(1 : Then
:S -> LRA(1
:disp "RECORD BATTU!!
sandro le 19/10/2011 à 13:35
Deux petites trucs:
Peut ce simplifier en
Et
Code
:Disp "Perdu! Score :",S // il faudrait mettre en majuscules.
snap le 19/10/2011 à 13:40
Merci pour ces amélio^^ je pense jamais au effVar^^ et ensuite pour les majuscules pas besoin et en plus si je me souviens bien toute les lettres que j'ai mit peuvent être en minuscule sur la caltosandro le 19/10/2011 à 17:31
Non, pas le O. Sinon, autant bien éditer, ça évitera que les débutant doivent demander comment faire.
Sandromade2kill le 19/10/2011 à 18:00
Amélioration du prog avec un mode score et le nom du high scorer plus les améliorations de sandro
Code
:EffEcr
:Menu("JOUER",J,"SCORES",S,"QUITTER",Q
:Lbl J
:1 -> dim(LRA
:For(A,1,16
:Output(1,A,"*
:Output(8,A,"*
:If non(PartDéc(.5A:Output(.5A,1,"*
:If non(PartDéc(.5A:Output(.5A,16,"*
:End
:Output(3,2,"VOITURE BY SNAP
:Output(5,2,"MEILLEUR SCORE
:Output(6,8,LRA(1
:Pause
:EffEcr
:Disp "","","","","","","
:1 -> A
:1 -> B
:1 -> C
:1 -> D
:1 -> E
:EffVar S8 -> X
:Repeat X >= A et X <= A+1
:CodeTouche -> K
:Min(16,Max(1,X+(K=26)-(K=24 -> X
:Output(3,X,"0
:S+1 -> S
:B -> A
:C -> B
:D -> C
:E -> D
:EntAléat(1,15 -> E
:Output(7,E,"{}
:Disp "
:End
:EffEcr
:Disp "PERDU! SCORE :",S
:If S>LRA(1 : Then
:S -> LRA(1
:Disp "RECORD BATTU!!
:Pause
:EffEcr
:Input "ENTER NAME",Str8
:Stop
:Lbl S
:Disp "HIGH SCORE:",LRA(1),"BY:",Str8
:Lbl Q
snap le 19/10/2011 à 19:00
Edite ton post et met le nom du mec qui a fait le high score dans la présentation

Et je viens de remarquer un truc : Ta pas mit de titre a ton menu!! Erreur syntaxe! ^^
snap le 20/10/2011 à 18:39
Bon, vu que made2kill ne se manifeste pas, je vous poste le programme corrigé.
Code
:Lbl 4
:EffEcr
:Menu("******************","JOUER",J,"QUITTER",Q
:Lbl J
:1 -> dim(LRA
:For(A,1,16
:Output(1,A,"*
:Output(8,A,"*
:If non(PartDéc(.5A:Output(.5A,1,"*
:If non(PartDéc(.5A:Output(.5A,16,"*
:End
:Output(3,2,"VOITURE BY SNAP
:Output(5,2,"MEILLEUR SCORE
:Output(7,4,"BY:
:Output(7,8,Str8
:Output(6,8,LRA(1
:Pause
:EffEcr
:Disp "","","","","","","
:1 -> A
:1 -> B
:1 -> C
:1 -> D
:1 -> E
:EffVar S8 -> X
:Repeat X >= A et X <= A+1
:CodeTouche -> K
:Min(16,Max(1,X+(K=26)-(K=24 -> X
:Output(3,X,"0
:S+1 -> S
:B -> A
:C -> B
:D -> C
:E -> D
:EntAléat(1,15 -> E
:Output(7,E,"{}
:Disp "
:End
:EffEcr
:Disp "PERDU! SCORE :",S
:If S>LRA(1 : Then
:S -> LRA(1
:Disp "RECORD BATTU!!
:Pause
:EffEcr
:Input "ENTER NAME",Str8
:End
:Goto 4
:Lbl Q
:Effecr
:Output(1,1,"
SS4TI-82 le 20/10/2011 à 20:16
Bonsoir, en recopiant ton corrigé Snap sur ton dernier message, jé une erreur sur la ligne 5
Lorsque je met voir : le curseur se place sur le "R"
J'aimerais Rémédier à sa svp ?
Sinon perso je trouve ton jeu super (apres test de la version publié sans les High Scores!)

sandro le 20/10/2011 à 20:21
le L est celui qui est dans le menu liste/OPS tout en bas et non la lettre.
Sandromade2kill le 20/10/2011 à 20:24
Pfff.
Bien la peine que je me casse les burnes à faire une nouvelle version (même si j'avais fait des erreurs d'inattention, et puis je peux pas me manifester tout le temps, j'ai une vie hein.).
Tu as une 82?
Si oui, remplace "LRA" par "L6" ([2nde] + [6]).
Sinon, fais [2nde] + [0] + [)] + [ENTER] pour le "L".
Laisse le "RA" en majuscules comme tu l'avais mis.
made2kill aka M2KSS4TI-82 le 20/10/2011 à 20:52
Merci à Sandro et made2kill pour leur réponse très rapide.
Mais maintenant J'ai une erreur INDEFINI sur "Str8" dit "Chaîne8" sur Ma TI.
...
(Je suis pas doué , je sais ^^)
sandro le 20/10/2011 à 21:11
C'est un petit problème du à la méthode de la chaîne pour enregistrer un meilleur score : on ne peut pas l'initialiser depuis le programme sous peine de perdre les meilleurs scores.
Il te faut donc faire, sur l'écran de calcul, "????? -> Chaîne8 (si tu veux, tu peut remplacer les points d'intérogations par autre chose). Ensuite, tant que tu ne suprime pas Chaîne8, tu n'aura pas à refaire la manip.
Sandrosimsmith78 le 20/10/2011 à 21:58
J'ai testé le 1er programme sur ma Ti82Stats.fr et le jeu marche mais le "O" avance indéfiniement sans obstacles

SS4TI-82 le 20/10/2011 à 22:07
sandro a écrit :
C'est un petit problème du à la méthode de la chaîne pour enregistrer un meilleur score : on ne peut pas l'initialiser depuis le programme sous peine de perdre les meilleurs scores.
Il te faut donc faire, sur l'écran de calcul, "????? -> Chaîne8 (si tu veux, tu peut remplacer les points d'intérogations par autre chose). Ensuite, tant que tu ne suprime pas Chaîne8, tu n'aura pas à refaire la manip.
Sandro
Dac Merci à toi Sandro 
Marche nikel snap le 21/10/2011 à 15:34
simsmith, vérifie bien que tu as exactement bien recopié le programme. Et regarde surtout si tu as bien noté :
Sinon je ne vois pas pourquoi il n'y aurait pas d'obstacles

simsmith78 le 21/10/2011 à 19:18
Eh bien j'avais bien inversé le 7 et le E ^^'
Maintenant, il n'y a vraiment plus aucun obstacle alors qu'avant il n'y en avait que sur le long du bord gauche ...
J'ai bien reverifié le prog mais rien ne change

snap le 21/10/2011 à 19:20
sa c'est pas normal... Revérifie bien tout le programme ligne par ligne parce que pour les autres sa marche alors sa doit être une erreur de frappe. Ou sinon prend le dernier programme et regarde si tu as le même problèmesimsmith78 le 21/10/2011 à 19:24
Parfait c'est bon, plus aucune erreur

Je suis vraiment une bille en relecture...
Super ton jeu

snap le 21/10/2011 à 19:27
Merci^^ Bon jeu à toi
PS : je le savais bien que mon jeu marchait^^
simsmith78 le 21/10/2011 à 23:01
made2kill a écrit :
Amélioration du prog avec un mode score et le nom du high scorer plus les améliorations de sandro 
Code
:EffEcr
:Menu("JOUER",J,"SCORES",S,"QUITTER",Q
:Lbl J
:1 -> dim(LRA
:For(A,1,16
:Output(1,A,"*
:Output(8,A,"*
:If non(PartDéc(.5A:Output(.5A,1,"*
:If non(PartDéc(.5A:Output(.5A,16,"*
:End
:Output(3,2,"VOITURE BY SNAP
:Output(5,2,"MEILLEUR SCORE
:Output(6,8,LRA(1
:Pause
:EffEcr
:Disp "","","","","","","
:1 -> A
:1 -> B
:1 -> C
:1 -> D
:1 -> E
:EffVar S8 -> X
:Repeat X >= A et X <= A+1
:CodeTouche -> K
:Min(16,Max(1,X+(K=26)-(K=24 -> X
:Output(3,X,"0
:S+1 -> S
:B -> A
:C -> B
:D -> C
:E -> D
:EntAléat(1,15 -> E
:Output(7,E,"{}
:Disp "
:End
:EffEcr
:Disp "PERDU! SCORE :",S
:If S>LRA(1 : Then
:S -> LRA(1
:Disp "RECORD BATTU!!
:Pause
:EffEcr
:Input "ENTER NAME",Str8
:Stop
:Lbl S
:Disp "HIGH SCORE:",LRA(1),"BY:",Str8
:Lbl Q
Comment faire Str8 please???

snap le 22/10/2011 à 07:08
Str 8 veut dire chaîne 8 que tu trouves en faisant var + 7 + 8made2kill le 22/10/2011 à 09:50
Hmm. Décidément ce Str8 pose beaucoup de souçis aux programateurs débutants.snap le 22/10/2011 à 11:15
Les nouveaux programmateurs ont souvent des ti-82 stats.fr c'est pour sa^^ Moi l'année dernière en seconde toute ma classe l'avait^^simsmith78 le 22/10/2011 à 11:21
Ah d'accord je comprends
Merci beaucoup a vous mais j'ai une derniere question (desolé) comment réinitialiser le meilleur score de ce jeu?snap le 22/10/2011 à 11:30
Pour réinitialiser, tu tapes :
et sa te remettra le meilleur score a 0
simsmith78 le 22/10/2011 à 11:54
Merci encoremade2kill le 22/10/2011 à 12:48
Enième amélioration avec la possibilité de reset le high score
Code
:EffEcr
:Lbl 99
:Menu("JOUER",J,"SCORES",S,"QUITTER",Q
:Lbl J
:1 -> dim(LRA
:For(A,1,16
:Output(1,A,"*
:Output(8,A,"*
:If non(PartDéc(.5A:Output(.5A,1,"*
:If non(PartDéc(.5A:Output(.5A,16,"*
:End
:Output(3,2,"VOITURE BY SNAP
:Output(5,2,"MEILLEUR SCORE
:Output(6,8,LRA(1
:Pause
:EffEcr
:Disp "","","","","","","
:1 -> A
:1 -> B
:1 -> C
:1 -> D
:1 -> E
:EffVar S8 -> X
:Repeat X >= A et X <= A+1
:CodeTouche -> K
:Min(16,Max(1,X+(K=26)-(K=24 -> X
:Output(3,X,"0
:S+1 -> S
:B -> A
:C -> B
:D -> C
:E -> D
:EntAléat(1,15 -> E
:Output(7,E,"{}
:Disp "
:End
:EffEcr
:Disp "PERDU! SCORE :",S
:If S>LRA(1 : Then
:S -> LRA(1
:Disp "RECORD BATTU!!
:Pause
:EffEcr
:Input "ENTER NAME",Str8
:Stop
:Lbl S
:Menu("SCORES","SEE HIGH SCORE",11,"RESET HIGH SCORE",12,"BACK",99
:Lbl 11
:Disp "HIGH SCORE:",LRA(1),"BY:",Str8
:Goto 99
:Lbl 12
:Menu("ETES-VOUS SUR?","OUI",98,"NON",99
:Lbl 98
:AxesOff
:FnOff
:ClrDraw
:ZStandard
:Horizontal -1
:Horizontal 1
:Shade(-1,1
:Disp "HIGH SCORE"
:Pause "EFFACE"
:Goto 99
:Lbl Q
sandro le 22/10/2011 à 12:59
Une petite amélioration :
Code
:Disp "HIGH SCORE","EFFACE
:Pause
peut être transphormé en:
Code
:Disp "HIGH SCORE
:Pause"EFFACE
Sandro
made2kill le 22/10/2011 à 17:11
Merci

snap le 22/10/2011 à 18:08
Et aussi, pour les goto, met des lettres à la place des nombres a deux chiffres sa prend moins de place

Et il y a plein de guillemets que tu peut enlever

snap le 24/10/2011 à 15:54
J'ai regardé ton code de plus près made2kill et j'ai remarqué quelques améliorations que l'on peut effectuer. Je vous poste donc le programme amélioré.
Code
:EffEcr
:Lbl 9
:Menu("VOITURE","JOUER",J,"SCORES",S,"QUITTER",Q
:Lbl J
:1 -> dim(LRA
:For(A,1,16
:Output(1,A,"*
:Output(8,A,"*
:If non(PartDéc(.5A:Output(.5A,1,"*
:If non(PartDéc(.5A:Output(.5A,16,"*
:End
:Output(3,2,"VOITURE BY SNAP
:Output(5,2,"MEILLEUR SCORE
:Output(6,8,LRA(1
:Pause
:EffEcr
:Disp "","","","","","","
:1 -> A
:1 -> B
:1 -> C
:1 -> D
:1 -> E
:EffVar S8 -> X
:Repeat X >= A et X <= A+1
:CodeTouche -> K
:Min(16,Max(1,X+(K=26)-(K=24 -> X
:Output(3,X,"0
:S+1 -> S
:B -> A
:C -> B
:D -> C
:E -> D
:EntAléat(1,15 -> E
:Output(7,E,"{}
:Disp "
:End
:EffEcr
:Disp "PERDU! SCORE :",S
:If S>LRA(1 : Then
:S -> LRA(1
:Pause "RECORD BATTU!!
:EffEcr
:Input "ENTER NAME",Str8
:Stop
:Lbl S
:Menu("SCORES","SEE HIGH SCORE",5,"RESET HIGH SCORE",4,"BACK",9
:Lbl 5
:Disp "HIGH SCORE:",LRA(1),"BY:
:Pause Str8
:Goto 9
:Lbl 4
:Menu("ETES-VOUS SUR?","OUI",8,"NON",9
:Lbl 8
:AxesOff
:FnOff
:ClrDraw
:ZStandard
:Horizontal -1
:Horizontal 1
:Shade(-1,1
:0 -> LRA(1
:Disp "HIGH SCORE
:Pause "EFFACE
:Goto 9
:Lbl Q
:Effecr
:Output(1,1,"
PS : tu n'avais pas mis de titre à ton menu. Normalement il n'y a plus d'erreur.
simsmith78 le 05/11/2011 à 11:51
A ceux L'ayant testé, quel est votre meilleur score?snap le 05/11/2011 à 13:28
Moi, comme j'ai dit au début, j'avais eu un programme du genre qui "comptait" les secondes j'avait tenu 11 minutes

minideck le 06/11/2011 à 23:48
Mais a ce moment la on n'avais pas encore réussi a écrire le "Réel" surligné au milieu de l'écran et sans savoir que tout allais être effacé on a même pas pris de notes sur le timer mais y doit avoir moyen d'en refaire un quand même

simsmith78 le 08/11/2011 à 21:49
moi mon max c'est 164... je suis nul...

SS4-TI82 le 09/11/2011 à 14:44
Je suis une grand fan de ce jeu , cé énorme !!!
Mon record : 375
(obtenu apres +de 100 parties)
Vous me direz je suis un geek

Persalteas le 09/11/2011 à 14:55
t'inquiète, y'a que ça ici...

Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.