| Code couleur: Résistances |
| Auteur |
Message |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Mer 12 Nov 2008, 20:40
|
|
|
Bonsoir,
J'ai un problème ( à mon avis le un est provisoire, je risque d'en avoir d'autres xD ).
J'essaie de créé un programme assez simple mais long.
Vous savez certainement ce qu'est une résistance et à quelle point le code des couleurs est dur à retenir ou alors avec la phrase soit disant mémo technique: " Ne Manger Rien Ou Jeuner Voilà Bien Votre Grande Bêtise" Elle ne veut strictement rien dire et il peut y avoir plusieurs confusions.
Bon j'en viens à mon programme.
Dans un 1ére temps, j'ai effacer l'écran puis fais mon p'tit menu à 2 possibilités, mon 1er p'tit Lbl ensuite j'ai mis 0->A:Reapeat A=3 donc la si je ne me suis pas trompé je vais répété 3 fois l'application qui suit. Ce qui suit est un menu ( le problème est là, je ne sais pas si un menu à 10 possibilité est possible ). Là, logiquement je choisie 3fois dans mon menu puis j'ai un autre menu qui suit juste après à 2 possibilité et j'aimerai pouvoir affiché les 4 valeurs.
Merci de m'aidé 
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Mer 12 Nov 2008, 21:09
|
|
|
Je n'ai pas le temps de faire ce programme ce soir, mais sache néanmoins que
| Code | For(A,1,3)
...ton code...
End |
convient mieux que ton Repeat.
De plus un menu ne peut dépasser 7 possibilités, mais tu peux trafiquer en utilisant deux menus avec partie1/partie2, ou faire toi même ton menu dans le graph par exemple, ce qui te permet plus de choix.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Mer 12 Nov 2008, 21:27
|
|
|
Je vais attendre que quelqu'un ou toi me le fasse alors parce que :
| Citer | | trafiquer en utilisant deux menus avec partie1/partie2, ou faire toi même ton menu dans le graph par exemple, ce qui te permet plus de choix. |
Je ne sais pas du tout comment faire.
Perso' je préféré la deuxième solutions si j'ai le choix mais je sais pas du tout comment faire 
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Mer 12 Nov 2008, 22:02
|
|
|
Pour bien savoir faire un menu à sa manière, il faut avoir une certaine souplesse dans la programmation...
Mais par exemple, tu fais :
1- Afficher le menu à l'aide de text() et de line(), avec par exemple des numéros devant chaque proposition.
2-Tu récupère avec un getKey() (ou Codetouche()) sur quoi appuie l'utilisateur.
3-En fonction du numéro appuyé, tu fais ce comme si tu étais à l'étiquette correspondante etc...
C'est le minimum mais déjà c'est pas mal si tu le fais proprement.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Jeu 13 Nov 2008, 17:35
|
|
|
Ok, je vais testé ce soir si j'ai le temps.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Ven 14 Nov 2008, 21:08
|
|
|
J'ai testé les 2 possibilités mais sans résultat... 
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Ven 14 Nov 2008, 23:12
|
|
|
Pour reprendre l'idée d'un menu(), voici un exemple de code :
| Code |
ClrDraw
Text(0,0,"Menu
Text(20,21,"1 - Commencer
Text(30,21,"2 - Options
Text(40,21,"3 - Quitter
While 1
getKey -> K
If K=92:Goto 1
If K=93:Goto 2
If K=94:Goto 3
End
Lbl 1
//code
Lbl 2
//code
Lbl 3
//code |
Ce code reprend le squelette de ce type de menu.
Bien évidemment d'innombrables améliorations existent. J'avais fias un menu dont j'étais assez content dans mon othello 2 mais j'ai eu un RESET (qui m'a dégouté du codage pour quelques mois d'ailleurs -_-').
Tu peux par exemple faire des cadres, des lignes et des dessins.
Tu peux aussi faire un curseur pour choisir l'entrée, ou même faire un système de sous-menu...
Seul les capacités de ta Ti peuvent limiter les possibilités !
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Sam 15 Nov 2008, 20:43
|
|
|
Ok, je vais testé. Merci
Par contre pour ça:
| Citer | Tu peux par exemple faire des cadres, des lignes et des dessins.
Tu peux aussi faire un curseur pour choisir l'entrée, ou même faire un système de sous-menu... |
Ça veut bien un gros LOL pour moi. Mais c'est vrai que j'ai déjà vu ca et que niveau présentation c'est pas mal. Mais es-ce que ça prends beaucoup de place si on y rajoute ça ?
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Sam 15 Nov 2008, 21:15
|
|
|
Ca dépend de la taille de ton programme. Il ne faut pas dépasser un certain pourcentage. Par exemple mon othello faisait 3500 octets et son menu 350 (enfin j'avais compressé à ma manière mais globalement c'est ça).
Tu as l'impression de prendre plus de place mais la différence est faible si tu le fais bien 
Si ton programme n'est pas gros, fais simple. Un truc sobre genre une barre horizontale sous le titre du menu, et des points devants les choix (pt-On(X,Y,3)).
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Dim 16 Nov 2008, 12:25
|
|
|
J'ai fais une p'tite résistance et j'ai fais la ligne horizontale mais quand il y a une erreur, autrement dit, que je quitte le programme en exécution, la résistance et la ligne horizontale reste sur l'écran et vu qu'il ne me reste qu'un peu moins de la moitié c'est c****.
Y a t-il un moins de d'effacer le dessin ? 
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Dim 16 Nov 2008, 13:04
|
|
|
Je n'ai compris le début de ton message mais pour effacer le dessin c'est ClrDraw.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Dim 16 Nov 2008, 14:27
|
|
|
Lol, je n'avais pas relu et c'est bien vrai que c'est très mal expliqué. Néanmoins tu as certainement répondu à ma question.
J'en ai deux autres ! xD
-Comment marche la fonction Ligne( ?
Je n'ai pas compris à quoi correspondent les 4 paramètres, et si c'est possible de les condenser quand on en a beaucoup ?
- A quoi sert la touche log ?
Pour être plus précis je ne comprends pas ce code:
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Dim 16 Nov 2008, 16:23
|
|
|
-Comment fonctionne Ligne() ?
Ligne() permet de tracer des lignes (surpise ) d'un point (P1,P2) à un autre point (P3,P4). P1,P2,P3 et P4 étant les 4 paramètres obligatoires de ligne().
Donc tu fais Ligne(P1,P2,P3,P4) et tu as ta lignes du point de coordonnées P1,P2 au point de coordonnées P3,P4.
Bien entendu tu dois utiliser des variables classique tel que A,B,C,D.
Une cinquième paramètre facultatif fera un ligne "blanche" si tu le met à 0. Tout autre valeur de changera rien (sauf commande caché).
Ligne(A,B,C,D,0) tracera une ligne blanche. Si tu as des pixels allumés sur le tracé de cette ligne ils seront donc effacés.
Les Condenser ? Cette fonction n'est malheureusement pas prévu. Cependant, je l'ai déjà dis, tout est possible en programmation "simple", seules les performances de la machine posent les bornes.
Tu peux par exemple trafiquer en faisant ça :
| Code | CrlDraw
0->Xmin:20->Xmax <.................................Je définis les bords du graph pour afficher où il faut.
0->Ymin:10->Ymax
{2,0,5,5,9,9,12,10,15,15,19,19->L1
{0,5,0,0,0,5,10,15,10,10,10,15->L2
{2,4,5,9,9,5,12,14,15,19,19,15->L3
{5,5,4,0,5,5,15,15,14,10,15,15->L6
For(I,1,dim(L1
Ligne(L1(I),L2(I),L3(I),L4(I
End
|
Il y a peut-être des choses que tu ne comprendras pas dans ce code mais essaye -le et demande-moi après 
- A quoi sert la touche log ?
C'est une fonction mathématique, qu'on voit en 1ère ou Terminale, je sais plus exactement. En gros si ça fait ça : log(10^7)=7, ou log(10^-9)=-9, et log(-1)=ERROR.
J'ai découvert un truc pour l'utiliser en programmation. Et je pense que ce que tu me cite viens de l'un de mes programmes si c'est un jeu ^^
Ou alors quelqu'un a eu la même idée que moi (je n'utilise pas iPart() mais int()).
En fait, log(R) renvoie un nombre de cette forme : E,D (E: Entier d: Décimal)
Si tu fais iPart(log(R)), tu obtiens E qui correspond en fait (pour une raison mathématique que je ne t'expliquerais pas ici) au nombre de caractères du nombre R plus un !
Donc en résumé iPart(log(R)-1) renvoie le nombre de caractères du nom R (si R est un entier, attention !)
Cela peut servir pour utiliser Output() par exemple, lorsqu'on veut insérer un nombre dans une phrase mais qu'on ne sait pas la place qu'il prend.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Lun 17 Nov 2008, 20:37
|
|
|
Merci de m'avoir consacré du temps, j'essaie tous ça demain.
Perso' j'ai commencé l'Algorithme Népérien soit la fonction log ou Ln aujourd'hui en MATHS ( je suis en Terminale ). Je trouve ça très dur à comprendre. Enfin bon, je crois avoir compris t'es explications sur le log.
Pour ce qui s'agit du programme sur le quel j'essaie de copié n'est pas ton jeux, ce n'est tout simplement pas un jeux, mais plutôt un logiciel sur le code couleur résistances avec lequel j'essaie de faire le mien.
Bon voilà, j'essaie de donné des news demain soir. Ciao 
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Mar 18 Nov 2008, 20:47
|
|
|
J'ai essayé le squelette de ce type de menu. Mais j'ai du mal.
Pour commencé j'aimerai savoir comment on enregistre une valeur. Avec les Getkey ! Mais comment ? Je ne comprends pas.
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 18 Nov 2008, 20:50
|
|
|
Pour enregistrer une valeur du getkey, il faut l'affecter à une variable d'où le "Getkey->X" où X est ta variable.
Ensuite, chaque fois que tu presse une touche, X change selon la touche.
A partir de cela, si tu connait la valeur qu'aura X selon la touche pressée, tu peut l'utiliser dans des conditions: If X=15 then ...
Sangohan38
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Mar 18 Nov 2008, 20:56
|
|
|
Ben ça j'avais compris, mais en fait, après avoir "enregistré" cette valeur il faut que je répète 3 fois l'action, puis que j'affiche les 4 valeurs de X.
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Mar 18 Nov 2008, 21:58
|
|
|
Et bien dans ce cas tu peux créer une boucle For() pour ton Menu() (Un peu spécial... mais ça marche !).
| Code |
//Ici tu affiche ton menu
For(I,1,4
Repeat K:getKey->K:End
K->L1(I
End |
Ce code est important, c'est la base de ton menu (et ça devrait suffire normalement). N'hésite pas à poser des questions si tu n'en saisie pas le sens ou l'utilité 
Ps: Une fois ce code éxécuté tu auras une liste des quatre valeurs rentrées dans la liste L1, que tu pourras utiliser et interpréter comme bon te semble.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Mer 19 Nov 2008, 14:00
|
|
|
Je crois que je suis totalement perdu dans ma 1ére parti du programme !
Je vous dis vite fais ce que j'ai fais pour le moment ou plutôt ce que j'ai cru comprendre de ce qu'il faut faire:
- EffEcr
- Menu( ...
- Lbl A
- EffDessin
- Texte(... ( C'est là ou j'écris les 11 couleurs / Cette application est répété plusieurs fois )
- For(I,1,4)
- Repeat K
- codeTouche->K
- If K=92:Goto 1
- If... ( Application répété 11 fois )
- End
- K->L1(I
- Disp L1
- Goto 1
- Goto... ( Application répété 11 fois )
Les ... c'est pour quand je n'ai pas tout écris.
Es ce que c'est bien le code que je dois mettre ? 
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Mer 19 Nov 2008, 15:41
|
|
|
Tu t'es trompé pour la deuxième partie en fait (surtout les Goto qui ne servent à rien).
| Code | For(I,1,4)
- RepeatK
- codeTouche->K
- If K=92:Goto 1
- If... ( Application répété 11 fois )
- End
- K->L1(I
- Disp L1
- Goto 1
- Goto... ( Application répété 11 fois )
|
Il faut marquer :
| Code | For(I,1,4
Repeat K
codeTouche->K
End
K->L1(I
End
//Tu as maintenant une liste où L1(1), L1(2), L1(3), L1(4) correspondent successivement aux quatre valeurs entrées par l'utilisateur. |
Le commentaire est donc a remplacer par le "traitement des données" de ton programme.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Mer 19 Nov 2008, 19:34
|
|
|
| Citer | | Le commentaire est donc a remplacer par le "traitement des données" de ton programme. |
Tu veux dire les If K= ... ?
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Mer 19 Nov 2008, 20:26
|
|
|
Pas forcément, c'est toi qui vois comment tu traites les informations.
Seulement, tu n'as que quatres informations à traiter : L1(1);L1(2);L1(3;L1(4)
Pas d'histoire de K.
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Jeu 20 Nov 2008, 19:18
|
|
|
C'est chaud !! J'ai pas bien compris.
Pour le moment j'ai ce code:
| Code | For(I,1,4)
Reapeat K
codeTouche->K
End
K->L1(I
End
Eff Ecr
Disp L1(1),L1(2),L1(3),L1(4) |
Mais bon comme tu peux le constater j'affiche K à l'écran. Je ne sais pas comment donné une valeur à mon codeTouche.
Il faudrau que j'écrive ceci à la suite ?:
| Code | If K=92:Then: NOIR->K
...
Ou alors quelque chose comme:
If K=92:Then:NOIR->L1(1+dim(L1 |
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Ven 21 Nov 2008, 10:46
|
|
|
Il n'y pas d'histoire de K. C'est une variable temporaire. Les 4 "K" consécutifs sont sotckés dans L1(1),L1(2) etc...
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Ven 21 Nov 2008, 21:23
|
|
|
Sans codeTouche comment je peux faire fonctionné mon programme ? 
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Sam 22 Nov 2008, 11:35
|
|
|
Il y a codeTouche, mais la variable K n'est qu'une variable comme une autre, on l'utilise souvent car à l'orgine c'est pour Key. Certains utilisent C (pour codeTouche).
En l'occurence les 4 touches récupérées avec codeTouche et stockés dans L1(1) L1(2) etc...
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Sam 22 Nov 2008, 21:50
|
|
|
Je suis entièrement d'accord avec toi mais je ne vois pas comment on peut dire que 0 ça donne noir que 2 ça donne rouge ...
|
 |
|
| |
coc5
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Sam 22 Nov 2008, 22:02
|
|
|
J'avoue que tout ça c'est loin pour moi -_-'
Disons que dans ta liste tu as les quatre numéros entrés par l'utilisateur, à toi de faire en fonction de ce qu'il a choisis 
|
 |
|
| |
ToTo
Autorisation : Membre
Nb de messages : 104
Inscrit le : Ven 07 Nov 2008, 11:38
|
Posté le : Sam 22 Nov 2008, 22:24
|
|
|
Ouais bon. Je vais essayé de trouvé une solution 
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |