Poster un nouveau sujet Poster une réponse
Package de programmes divers [WDSX]
Auteur Message
WDSX
Invité
Posté le : Jeu 17 Mai 2012, 21:02   Citer 

Je me présente brièvement: WDSX, je suis en 1ère S et je programme en basic et débute dans l'Assembleur.
Je vous propose quelques-un de mes programmes (en TI-Basic):

.Memtouch [496 octets] : jeu consistant à retenir une combinaison de touches (haut, bas, gauche, droite), elle s'incrémente de tour en tour et le jeu s'arrête dès que vous commettez une erreur.
-La calto vous indique lorsque c'est votre tour ("à toi!")


Code
.Memtouch:
*Ce programme emploie la liste "L1" par défaut et une liste perso "listeMT"

2->L:1->C:DelVar Str0DelVar P
ClrList L
ClrHome:Repeat 0
L->dim(L
For(B,1,50
Output(4,6,"PRET?
End
ClrHome:For(B,1,L
randInt(1,4->F
If F=1:Then
2->Y:7->X
25->L(B
"HAUT
End
If F=2:Then
1->X:4->Y
24->L(B
"GAUCHE
End
If F=3:Then
4->Y:11->X
26->L(B
"DROITE
End
If F=4:Then
7->Y:7->X
34->L(B
"BAS
End
For(theta,1,30
Output(Y,X,Ans
End
ClrHome
End
For(B,1,20
Output(4,6,"A TOI!
End
For(X,1,L
Repeat T>=24 and T<=26 or T=34
getKey->T
If T=24:Then
ClrHome:Output(4,1,"GAUCHE
End
If T=25:Then
ClrHome:Output(2,7,"HAUT
End
If T=26:Then
ClrHome:Output(4,11,"DROITE
End
If T=34:Then
ClrHome:Output(7,7,"BAS
End:End
If TdifferentdeL(X):Then
3->theta
If P>listeMT(1
P->listeMT(1
1->R
prgmthetaG
Return
End:End
P+10C->P
ClrHome:For(theta,1,2
For(B,1,15
Output(4,5,"CORRECT!
End
For(B,1,15
ClrHome
End:End
L+1->L
C+1->C
End



.Guithero [360 octets] : ma version de ce jeu connu de tous laugh.gif , je n'ai donc pas besoin de vous expliquer les règles je pense si ce n'est que j'aimerais avoir quelques-un de vos conseils pour faire défiler plus d'une note à la fois car j'avoue que je bloque sur cette notion. minied.gif
-Compteur d'erreurs (5 erreurs=défaite)


Code
.Guithero:
*Ce programme emploie une liste perso "listeGH"

ClrHome:DelVar PDelVar E
Repeat E=5
1->Y:1->X:1->O:1->A:1->C
getKey->T
If T=45:Goto Q
Output(2,1,"ERR:
Output(3,1,E
Output(5,5,"{ }{ }{ }{ }
Repeat X=6 or X=9 or X=12 or X=15
randInt(6,15->X
End
For(Y,1,8
getKey->T
Output(O,A,"
Output(Y,X,"!
Y->O:X->A
If (Y=5 or Y=6) and ((T=92 and X=6) or (T=95 and X=15) or (T=94 and X=12) or (T=93 and X=9)):Then
P+5C->P
If X=6:Output(5,5,"* *
If X=9:Output(5,8,"* *
If X=12:Output(5,11,"* *
If X=15:Output(5,14,"* *
1->D
End:End
If D:Goto S
E+1->E
Lbl S:ClrHome:DelVar D
C+1->C
End
3->theta
If P>listeGH(1
P->listeGH(1
2->R
prgmthetaG




Code
thetaG: un programme INDISPENSABLE à Memtouch et Guithero, il affiche le score et le record.

If thetadifferentde3:Then
ClrHome:Output(1,1,"
Return
End
ClrHome:For(X,1,13
"GAME OVER!!!!
sub(Ans,X,1
Output(4,theta,Ans
theta+1->theta
End
3->theta
For(X,1,13
"             // 13 espaces
sub(Ans,X,1
Output(4,theta,Ans
theta+1->theta
End
Output(3,3,"SCORE:
Output(3,9,P
Output(5,3,"RECORD:
If R=1:listeMT(1
If R=2:listeGH(1
Output(5,10,Ans
DelVar theta
Return



.Pendu [1549 octets] : ma version d'un autre jeu bien connu des internautes de ce site. La petite originalité de cette version réside dans la pendaison du bonhomme au cas où vous perdriez! godgrace.gif
-Mode solo/2 joueurs.
-Mode solo->choix entre plusieurs thèmes:
*Français
*Maths
*Physique-chimie
*Ingénierie
*Voyage-étranger
-Possibilité de taper le mot directement si vous pensez l'avoir deviné ET si le mot est juste!(non obligation de taper lettre par lettre)
?J'aimerais avoir votre avis sur mon sélecteur de mots, savoir si il n'y aurait pas d'autres techniques, moyens plus efficaces.


Code
.Pendu:

StoreGDB 0
Lbl B:Full
0->Xmin:94->Xmax:0->Ymin:30->Ymax:0->Xscl:0->Yscl
AxesOff:FnOff :PlotsOff
ClrDraw
1->A
ClrHome:Menu("PENDU!","SOLO",S,"2 JOUEURS",M
Lbl M:Repeat L<17
Input "MOT:",Str2
length(Str2->L
ClrHome:Output(3,1,"16 LETTRES MAX
End
Goto L
Lbl S:Menu("THEME:","FRANCAIS",1,"MATHS",2,"PHYSIQUE-CHIMIE",3,"INGENIERIE",4,"VOYAGE-ETRANGER",5
Lbl 1:randInt(1,6->M
If M=1:Then
10->L:1->X
End
If M=2:Then
8->L:11->X
End
If M=3:Then
8->L:19->X
End
If M=4:Then
9->L:27->X
End
If M=5:Then
7->L:36->X
End
If M=6:Then
5->L:43->X
End
"ITERRATIONPAMPHLETASYNDETEMETONYMIEEXCIPITNOEUD
Goto N
Lbl 2:randInt(1,5->M
If M=1:Then
9->L:1->X
End
If M=2:Then
8->L:10->X
End
If M=3:Then
11->L:18->X
End
If M=4:Then
5->L:29->X
End
If M=5:Then
8->L:34->X
End
"ASYMPTOTEPOLYNOMECOLINEARITELOCALVARIANCE
Goto N
Lbl 3:randInt(1,5->M
If M=1:Then
4->L:1->X
End
If M=2:Then
9->L:5->X
End
If M=3:Then
12->L:14->X
End
If M=4:Then
10->L:26->X
End
If M=5:Then
14->L:36->X
End
"MOLECARBOXYLEDISTILLATIONETALONNAGECHROMATOGRAMME
Goto N
Lbl 4:randInt(1,8->M
If M=1:Then
6->L:1->X
End
If M=2:Then
6->L:7->X
End
If M=3:Then
7->L:13->X
End
If M=4:Then
7->L:20->X
End
If M=5:Then
5->L:27->X
End
If M=6:Then
10->L:32->X
End
If M=7:Then
9->L:42->X
End
If M=8:Then
10->L:51->X
End
"RADIANSTATORTORSEURGRAFCETVERINCONTACTEURMODELISERTRANSISTOR
Goto N
Lbl 5:randInt(1,5->M
If M=1:Then
7->L:1->X
End
If M=2:Then
12->L:8->X
End
If M=3:Then
6->L:20->X
End
If M=4:Then
9->L:26->X
End
If M=5:Then
5->L:35->X
End
"DEUTSCHPIAZZANAVONEAWSOMESTROMBOLIBRONX
Lbl N:sub(Ans,X,L->Str2
Lbl L:length(Str2->L
Horiz
For(X,1,L
Text(4,4X,"-
End
DelVar P
Repeat Str1=Str2 or P=L
DelVar C
Repeat N=1 or Str1=Str2
ClrHome:Input "LETTRE:",Str1
length(Str1->N
End
For(X,1,L
If Str1=sub(Str2,X,1) or Str1=Str2
Then
Text(4,4X,sub(Str2,X,1
1->C
1+P->P
Else
1->F
End
End
If C:DelVar F
If F:Then
Text(20,A,Str1
If A=21:Then
Circle(79,10,2
Line(79,13,79,19
Line(79,19,82,23
Line(79,19,76,23
Line(79,16,82,13
Line(79,16,76,13
ClrHome:Output(2,6,"PENDU!
Goto E
End
If A=5:Line(71,0,71,27
If A=9:Line(71,27,79,27
If A=17:Line(79,27,79,20
If A=13:Line(75,27,71,21
If A=1:Line(66,0,76,0
A+4->A
End:End
ClrHome:Output(2,5,"TROUVE!
Lbl E:Text(4,4,Str2
Output(3,4,"NEXT:2NDE       QUIT:MODE // 7 espaces entre 2NDE et QUIT
Repeat T=22
getKey->T
If T=21:Goto B
End
Full
RecallGDB 0



Voilà! N'hésitez pas à me faire part de vos remarques et SURTOUT vos conseils.

ps: Auriez-vous quelques sites d'upload à me suggérer à part Rapidshare? moodforlove.gif afin que je puisse vous communiquer les fichiers .83P.

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
The K



Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 17 Mai 2012, 21:09   Citer 

Eh bien , bienvenue à toi WDSX ! glasses.gif

Euh comme site pour upload je te conseille madiafire ... ou TI-planet, plus gros site francophone sur les calculatrices TI (et énorme base de données aussi).

Il y a surement moyen d'améliorer tes programmes, qui me semblent déja bien ... je regarde ça (bon après le champion de l'optimisation ce n'est pas moi ...)

EDIT : bien je me suis surtout - pour l'instant intéréssé à ton Guithero (d'ailleurs je ne connais pas ce jeu !).
Quelques remarques :


Code
If T=45:Goto Q


Il n'y a pas de LblQ dans ton programme. Si c'est le label quitter, tu peux tout simplement mettre un Stop winkle.gif


Code
Repeat X=6 or X=9 or X=12 or X=15
randInt(6,15->X
End


Peut devenir :
Code
randInt(1,4->X


(en opérant tous les changements nécéssaires après)



Code
If X=6:Output(5,5,"* *
If X=9:Output(5,8,"* *
If X=12:Output(5,11,"* *
If X=15:Output(5,14,"* *


Peut devenir : (X est désormais entre 1 et 4)

Code
Output(5,2+3X



Voila pour celui la ...

Sinon (bon la je fais mon rabat-joie) mais peux-tu s'il te plait traduire tous tes programmes en français, et compléter à chaque fois qu'il faut les listes pas L1 et non pas juste L ? Merci beaucoup winkle.gif (ce n'est pas pour moi c'est pour les nouveaux en programmation sur ti-82 stats.fr ^^)

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
WDSX



Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 06 Mai 2012, 15:29
Posté le : Jeu 17 Mai 2012, 21:18   Citer 

Je te remercie pour les sites d'upload, j'avais en effet oublié médiafire! laugh.gif
Et pour ce qui est de mes progs, si tu as des optimisations quelconques je suis ouvert à toutes propositions.

EDIT: Ah oui! En effet j'avais complètement oublié ce lblQ! Merci de me le faire remarquer. Pour ce qui est du "Repeat X=...", ça peut accélérer le prog merci. happy.gif

 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 17 Mai 2012, 21:26   Citer 

Pour le memtouch je vois dans l'immédiat moins d'optimisations. Mais il faudrait qu'on puisse distinguer les L1, les LMT et la variable L. Merci winkle.gif

Dans le theta G peut être ceci :


Code
For(X,1,13
"GAME OVER!!!!
sub(Ans,X,1
Output(4,theta,Ans
theta+1->theta
End
3->theta
For(X,1,13
"             // 13 espaces
sub(Ans,X,1
Output(4,theta,Ans
theta+1->theta
End


Pourrait devenir :

Code
For(K,1,2
3->theta
"GAME OVER!!!!
If K=2
"             // 13 espaces
For(X,1,13
sub(Ans,X,1
Output(4,theta,Ans
theta+1->theta
End
End



----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
WDSX



Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 06 Mai 2012, 15:29
Posté le : Jeu 17 Mai 2012, 21:32   Citer 

Pour ce qui est des traductions, oui je vais m'en occuper laugh.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 17 Mai 2012, 23:13   Citer 

Ton jeu Memtouch est ce qui s'appelle un Simon.
J'en ai écrit un avec 5 touches parmi les chiffres.
Elles se repèrent par des positions, ce que je trouve plus agréable à retenir.

---

guithero=guitarehéros ?

Il existe de nombreuses façon de faire défiler des éléments.
Les plus évidentes sont malheureusement les moins bonnes.

La plus efficace que je connaisse consiste à remplir une matrice aussi large qu'il y a d'éléments simultanés (probablement 4 pour ton jeu) et aussi haute qu'il y a d'états à garder en mémoire.
Ces "états" pour un guitare héros sont le nombre de cases en hauteur occupées par les flèches.

Il y a plusieurs variantes, l'une d'elles est visible dans la version 4.3 de mon cubefield.
http://tout82.free.fr/forum/sujet.php?message=32423#32423

---

Chaque fois que des choses se répètent, il est intéressant de les fusionner, surtout dans ton pendu.
Pour cela on écrit les choses identiques une fois et on conditionne les choses différentes avec des variables, des listes ou des If.

Ce serait pratique de classer les mots par longueur. Ainsi il suffirait de quelques varaiables pour tout gérer.
Prend par exemple : http://tout82.free.fr/forum/sujet.php?message=36327#36327

Voici tout-de-même ce que j'obtien pour toute la partie de ton Lbl S au Lbl N :
Code
// L1 est la liste des valeurs de L dans l'ordre où elles étaient dans le programme
// L2 fait la même chose pour X
// L3 indique le nombre de mots de chaque niveau, mais avec un décalage (facilite la suite)
// L4 permet aux fonctions de trouver les séries de valeurs de chaque niveau à l'intérieur de L1 et L2, car c'est la somme cumulée des nombres de mots des niveaux précédents

// il aurait été possible d'utiliser une liste par niveau afin que les listes soient moins complexes, mais comme ça cela réduit pas mal les opérations de tests au cas par cas

Lbl S
{10,8,8,9,7,5,9,8,11,5,8,4,9,12,10,14,6,6,7,7,5,10,9,10,7,12,6,9,5->L1
{1,11,19,27,36,43,1,10,18,29,34,1,5,14,26,36,1,7,13,20,27,32,42,51,1,8,20,26,35->L2
{0,6,5,5,8,5->L3
CumSum(L3->L4

0     // ceci stocke 0 dans Ans pour préparer la suite
Menu("THEME:","FRANCAIS",1,"MATHS",2,"PHYSIQUE-CHIMIE",3,"INGENIERIE",4,"VOYAGE-ETRANGER",5
Lbl 5 // cette série de Lbl permet de stocker dans N un numéro de niveau
1     // ici j'aurai pu écrire Ans+1 mais 0+1=1 donc faisons plus simple
Lbl 4
Ans+1
Lbl 3
Ans+1
Lbl 2 // si on a choisit Lbl2 par exemple, toute la suite sera executée,
Ans+1 // d'où N=0+1+1=2
Lbl 1
Ans+1->N

randInt(1,L3(N+1->M // aléatoire entre 1 et le nombre de mots contenu dans L3
L1(M+L4(N->L // stocke dans L le Mième nombre du niveau N de L1
L2(M+L4(N->X // idem pour X
If N=1
"ITERRATIONPAMPHLETASYNDETEMETONYMIEEXCIPITNOEUD
If N=2
"ASYMPTOTEPOLYNOMECOLINEARITELOCALVARIANCE
If N=3
"MOLECARBOXYLEDISTILLATIONETALONNAGECHROMATOGRAMME
If N=4
"RADIANSTATORTORSEURGRAFCETVERINCONTACTEURMODELISERTRANSISTOR
If N=5
"DEUTSCHPIAZZANAVONEAWSOMESTROMBOLIBRONX

Edit: commentaires ajoûté

----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
WDSX



Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 06 Mai 2012, 15:29
Posté le : Ven 18 Mai 2012, 20:12   Citer 

OK OK! Je vois; tout d'abord merci pour tous ces conseils! J'aimerais cependant, et là je m'adresse uniquement à linkakro, que tu m'expliques un peu plus précisément tes lignes de code pour l'optimisation du pendu.
Pour ce qui est de Guitare Hero, je ne comprends pas bien comment fonctionnerait le système de défilement avec une matrice, bien que j'ai compris comment serait disposée cette matrice.

 Adresse email Haut de page Bas de page 
 
WDSX



Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 06 Mai 2012, 15:29
Posté le : Sam 19 Mai 2012, 10:17   Citer 

Pourrais-tu me donner un exemple pour le Guitare Hero en utilisant le procédé de la matrice? ahh.gif
Merci d'avance laugh.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 19 Mai 2012, 20:32   Citer 

Je vais préparer quelques commentaires de ma variante de ton pendu et un exemple de défilement avec la matrice. (voire même en montrer plusieurs)
J'éditerai ce message ou le précédent.

EDIT : ==========
j'ai commenté la variation du pendu
Il doit y avoir d'autres choses possibles mais j'hésite à les chercher car la complexité est une lourde contrepartie à certaines optimisations.

EDIT : ==========

Remarque :
Il y a une fonction toute faite pour échanger des lignes. Plusieurs échanges permettent de faire défiler le tout.

Remarque:
Il y a des fonctions pour manipuler des lignes ou des colonnes d'un seul coup, en passant par des listes.
Mais on ne peut pas effectuer certaines choses sur une ligne ou bien sur une colonne.
Ainsi il est probable que tu vois souvent des "T" (en exposant) à coté des matrices pour les "transposer" c'est à dire les retourner. Parfois il suffit d'échanger les coordonnées.

Je ne m'attacherai pas au test de pression des touches, car on ne peut pas tester la pression simultanées de plusieurs touches.
Voici tout de même des manières d'effectuer des défilement graphiques mais surtout de données simultanées.

Dans cette variante, la plus évidente, la matrice considérée est fixée à l'écran, et on déplace les lignes de la matrice à l'intérieur.

Code
Lbl J   //préparation du graphique
ClrHome
1->Z
DelVar [A]
{8,4->dim([A]
For(W,1,7   // pour permettre de défiler l'écran à chaque Disp"" plus tard
Disp ""
End

While 1    // début de la boucle // on peut mettre ici un test de game over
Disp ""
For(V,1,4  // pour traîter chacune des 4 cases de la nouvelle ligne
randInt(0,1->[A](8,V
If Ans
Output(8,V,"0
End
For(W,1,7  // fait défiler la matrice
rowSwap([A],W,W+1->[A]
End
Z+1->Z
End


Dans cette variante les coordonnées de référence dans la matrice se déplacent, c'est comme si on déplaçait la matrice par rapport à l'écran.
Cela commence à devenir vraiment efficace. (c'est ce que j'ai décrit)
(Il y a quelques détails négligeables qui peuvent modifier la rapidité.)

Code
Lbl J
DelVar [A]
{7,4->dim([A]
0->B
ClrHome
For(W,1,8
Disp ""
End
While 1
B+1->B
If B=8
1->B
Disp ""
For(W,1,4
randInt(0,1->[A](B,W
If Ans
Output(8,W,"0
End
End



----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
WDSX



Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 06 Mai 2012, 15:29
Posté le : Sam 19 Mai 2012, 22:54   Citer 

Ah! Merci merci! happy.gif

 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Dim 20 Mai 2012, 14:25   Citer 

Tiens je viens de remarquer un petit détail ... itération il n'y a qu'un seul "r" je crois.

(bon pour du détail c'est du détail hein ^^)

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
WDSX



Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 06 Mai 2012, 15:29
Posté le : Dim 20 Mai 2012, 15:11   Citer 

Wouaw! Maintenant qu je comprends mieux, je me dis que je n'aurais jamais pensé à procéder ainsi. En effet l'idée d'utiliser les labels de telle sorte que les numéros de niveau s'accumulent pour finalement correspondre au numéro de niveau choisi, est vraiment bien trouvée. laugh.gif
En tout cas, merci j'ai bien compris maintenant. Je retiens toutes vos remarques et modifierai donc mes codes en conséquence et posterai les nouvelles versions ".83P" dans une semaine probablement car je n'ai pas trop le temps en ce moment.

ps ----> The K: En effet, j'ai bien fait erreur sur le mot "itération", merci de la remarque. winkle.gif Lol, du coup ça va changer quelques valeurs dans le prog mais bon c'est minime comme modif, ça va pas me tuer bigmouth.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 20 Mai 2012, 16:31   Citer 

Je pense en avoir terminé avec mes éditions des messages précédents.

Maintenant j'aborde le guitarehéros mais en abandonnant la simultanéité des notes sur une même ligne.
Donc je propose qu'il y ai plusieurs notes à l'écran mais une seule par ligne.
Ainsi il suffit d'une liste, pas besoin de matrice.
Cela donne accès à quelques possibilités supplémentaires et cela en empêche d'autres.

Par exemple usage d'un bug de la fonction SortA(L1,L2) lorsque L1 est uniforme.

Code
ClrList L1
8->dim(L1 // L1 contient huit zéros
L1->L2    // idem
ClrHome
For(W,1,8
Disp ""
End
Repeat K-L2(1 // quitte si K=/=L2(1)
Disp ""
SortA(L1,L2   // un bug place le premier terme à la fin
randInt(1,4->X
{11,12,13,14  // stocke cette liste dans Ans
Ans(X->L2(8   // stocke un nombre aléatoire de la liste Ans dans L2(8)
Output(8,W,"0
getKey->K
End

En théorie, il faudrait remplir L1 avec des valeurs identiques pour les termes de L2 à monter et une valeur suppérieure pour le terme à descendre. (0 et 1 par exemple)
Mais il y a un bug qui fait que ça marche avec une liste constante.

----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Poster un nouveau sujet Poster une réponse





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