| Unde question de variables |
| Auteur |
Message |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Ven 15 Jui 2012, 16:04
|
|
|
Bonjour à tous alors voila, j'aimerai savoir comment faire pour limiter une variable par exemple :
For (A,0,10)
8->A
A-9->A
Disp A
mais j'aimerai qu'il ne me sorte pas -1 mais plutot 0
de meme si j'ajoute 3 à A je voudrais qu'il me sorte 10 et qu'il n'aille pas plus loin, alors comment faire? car je dois le faire pour beaucoup de variables; merci =)
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 16:09
|
|
|
Pour que A soit égal à 0 au lieu de -1, tu peux faire ça :
| Code | For (A,0,10)
8->A
A-9->A
A+(A=-1->A
Disp A
End |
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Ven 15 Jui 2012, 16:09
|
|
|
La façon la plus simple: If
| Code |
If A<0:0->A
If A>10:10->A
|
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Ven 15 Jui 2012, 18:35
|
|
|
Ou alors :
| Code | max(0,A-9 -> A
min(10, A+10 -> A |
Si je ne me trompe pas sa marche aussi.
Mais ton code est bizarre, tu met for(A,0,10), mais tu change
la variable A après, donc t'aura toujours la même réponse.
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 0:49
|
|
|
merci pour vos reponses, mais snapj'ai l'impression qu'il y a un malediction qui pese sur moi car je ne comprends pas ton message:)
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 1:37
|
|
|
Sinon en faite moi ce qui m'arrangerai le plus ce serai un petit reglage a faire au debut de la variable et de ne plus y toucher mais elle ne pourra pas descendre plus bas que 0 et augmenter plus haut que 10
donc le truc des
If A>10 : 0->A c'est pas vraiment rentable car il faudra le faire plusieurs fois pour beaucoup de variables (je peus vous dire au cas ou sa vous aiderez que en fait c'est pour les points de vie des ennemis et des miens il faudrait qu'ils ne descendent pas plus bas que 0 et ne montent pas plus haut qu'une valeur initiale)
j'espere que vous avez compris ce que j'ai di (jai un peu de mal a m'exprimer)
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Sam 16 Jui 2012, 2:03
|
|
|
Le truc, c'est que ton 1er code est bizarre, car A sera, à la fin, toujours égal au même nombre car tu lui donne une valeur constante en plein milieu de ta boucle.
Sinon, utilise ma méthode. Je ne la comprend pas moi-même, je sais juste que quand on met
La variable ne peux pas descendre en dessous de ce nombre, et que quand on met
La variable ne peux pas monter au dessus de ce nombre.
Tu peux bien sur faire des calculs du genre
Si A < 0, A sera à la fin de cette ligne égal a 5, sinon, il sera égal a A+5.
Et pour continuer sur min( et max( :
| Code | | min( NOMBRE,max(nombre, Variable |
Signifie que ta variable ne pourra pas monter au dessus de "NOMBRE" et ne pourra pas descendre en dessous de "nombre".
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 10:33
|
|
|
En fait ceci va renvoyer un seul nombre, le plus grand des deux.
Donc ici :
A prendra la valeur de A-9 sauf si 0>A-9, dans ce cas A prendra pour valeur 0.
C'est la même chose mais "à l'envers" pour min :
Ca va renvoyer le plus petit des deux nombres.
Donc ici :
A prendra la valeur de A+10 sauf si 10<A+10, dans ce cas A prendra pour valeur 10.
Donc en résumé, max( renvoie la plus grande, le maximum entre les deux valeurs et min( la plus petite, le minimum entre les deux valeurs.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 19:21
|
|
|
merci a vous deux c'est beaucoup plus claire maintenant =)
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 23:02
|
|
|
ben en fait... j'ai suivis vos conseils, mais sa marche pas 
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 23:08
|
|
|
voila ce que j'ai ecrit
| Code | :48->A // le monstre a 48 pv
:max(0,A-47->A
:min(48,A+48->A
:A-59->A
:Disp A |
et la sa m'ecrit A = -11 
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Sam 16 Jui 2012, 23:14
|
|
|
Normal :
première ligne, A=48
deuxieme ligne A=1 puisque A-47=1
troisième ligne A=48 puisque A+48=1+48=49 qui est plus grand que 48
quatrième ligne A-59 = 48-59 = -11
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 23:26
|
|
|
Oui, il faut que tu mette A-59 avant les lignes min( et max(.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Dim 17 Jui 2012, 12:38
|
|
|
et donc comment corriger ca?
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Dim 17 Jui 2012, 12:41
|
|
|
F-BVXT à tout dit ce qu'il faut corriger.
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
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 ... |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 17 Jui 2012, 13:18
|
|
|
| Code | 48->A
max(0,A-47->A
min(48,A+48->A
max(0,A-59->A
Disp A |
---------------------- 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 |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Dim 17 Jui 2012, 13:22
|
|
|
Ca serai pas mieux de faire comme ça plutôt Linkakro ?
| Code | 48->A
A-59->A
min(48,A+48->A
max(0,A-47->A
Disp A
|
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 17 Jui 2012, 13:30
|
|
|
Non. Tu as changé le résultat et l'ordre des opérations.
---------------------- 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 |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Dim 17 Jui 2012, 16:21
|
|
|
bien ca ne marche toujours pas
bon c'est pas grave je n'ai qu'a laisser les valeurs qui sont inferieures a 0
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Dim 17 Jui 2012, 16:24
|
|
|
En fait, je comprend pas vraiment ce que tu veux faire.
Tu dis que le monstre a 48 PV alors pourquoi est-ce que tu lui en retire 59 ?
Et pourquoi A-47 et A+48 ?
Qu'est-ce que tu aurais voulu comme résultat à la place de -11, 0 ?
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 17 Jui 2012, 17:14
|
|
|
C'est quoi le problème ?
Copie simplement MON code qui est juste.
Rappel :
| Code | 48->A
max(0,A-47->A
min(48,A+48->A
max(0,A-59->A
// remarque : le Disp est innutile car A est la dernière commande du prog |
---------------------- 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 |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Dim 17 Jui 2012, 20:27
|
|
|
en fait selon les ataques je ne lui enleve pas 48 pv pile (comme dans les vrais RPG) donc la j'ai mis comme exemple 59 mais sa peut etre 49, 62, 54 etc...
dans mon prgomramme jai mis:
| Code |
:120->Z // mes pv
:48->A // pv de l'ennemi
:max(0,A-47->A
:min(48,A+48->A
:max(0,A-59->A
:entAléat(45,69)->E // degats qu'inflige l'attaque
:A-E->A
:Disp "ennemi perd:",E
:Disp "pv"
:Disp "mes pv:",Z
:Disp "pv ennemi:",A // a ce moment la ca me sort -1, -10, -7,etc...
|
ca me sort -1, -7 etc... mais pas 0 !
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Dim 17 Jui 2012, 20:31
|
|
|
petite erreure de ma part a la 5eme ligne du code que j'ai mis dans le message just en haut c'est
| Code |
:120->Z // mes pv
:48->A // pv de l'ennemi
:entAléat(45,69)->E // degats qu'inflige l'attaque
:A-E->A
:max(0,A-47->A
:min(48,A+48->A
:max(0,A-59->A
:Disp "ennemi perd:",E
:Disp "pv"
:Disp "mes pv:",Z
:Disp "pv ennemi:",A // a ce moment la ca me sort -1, -10, -7,etc...
|
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Dim 17 Jui 2012, 20:31
|
|
|
2eme erreure de ma part c'est pas
:max(0,A-59->A
mais:
:max(0,A-E->A
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Dim 17 Jui 2012, 20:35
|
|
|
ps linkakro: ton code est bon mais la dans mon programme il marche pas
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Dim 17 Jui 2012, 22:15
|
|
|
Je crois que j'ai compris.
Tu veux que ce soit A qui soit compris entre 0 et 48. Or, dans ton code tu met A-47, A+48 et A-59. Ce n'est donc pas A, mais une valeur de A ayant subit divers calcul autre que le "simple" retrait de PV qui s'affiche.
Je te propose donc ça qui, normalement, devrait fonctionner :
| Code | :120->Z
:48->A
:entAléat(45,69)->E
:A-E->A
:max(0,A->A
:min(48,A->A //cette ligne est inutile si l'ennemi ne peut pas gagner de PV
:Disp "ennemi perd:",E
:Disp "pv"
:Disp "mes pv:",Z
:Disp "pv ennemi:",A |
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Dim 17 Jui 2012, 23:17
|
|
|
| Code | :max(0,A->A
:min(48,A->A |
Devient
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Lun 18 Jui 2012, 1:30
|
|
|
F-BVXT... tu es un geni, sa marcheeeeeeeeee!
en faite le probleme venait du fait que je faisais la soustraction ( pv-degat)
APRES avoir mis min( et max(
En tout cas merci également à snap et à linkakro pour leur aide précieuse 
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Lun 18 Jui 2012, 10:54
|
|
|
Tout le plaisir était pour nous 
Au fait
| Code | :A-E->A
:max(0,A->A
:min(48,A->A //cette ligne est inutile si l'ennemi ne peut pas gagner de PV
:Disp "ennemi perd:",E
:Disp "pv"
:Disp "mes pv:",Z
:Disp "pv ennemi:",A |
Tu peux le remplacer par
| Code |
:max(0,min(48,A-E->A
:Disp "ennemi perd:",E,"pv","mes pv:",Z,"pv ennemi:",A |
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Lun 18 Jui 2012, 18:00
|
|
|
wow merci snap, je savais pas qu'on pouvais faire ca, ca occupera moins d'espace , merci =)
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |