Poster un nouveau sujet Poster une réponse
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   Citer 

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
 Adresse email Haut de page Bas de page 
 
F-BVXT



Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
Posté le : Ven 15 Jui 2012, 16:09   Citer 

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.
 Adresse email Haut de page Bas de page 
 
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   Citer 

La façon la plus simple: If


Code

If A<0:0->A
If A>10:10->A



 Adresse email Haut de page Bas de page 
 
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   Citer 

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 happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Sam 16 Jui 2012, 0:49   Citer 

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
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Sam 16 Jui 2012, 1:37   Citer 

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
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Sam 16 Jui 2012, 2:03   Citer 

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


Code
max(nombre, Variable


La variable ne peux pas descendre en dessous de ce nombre, et que quand on met


Code
min(nombre, Variable


La variable ne peux pas monter au dessus de ce nombre.

Tu peux bien sur faire des calculs du genre


Code
min(5, A+5 -> A


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 happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
F-BVXT



Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
Posté le : Sam 16 Jui 2012, 10:33   Citer 


Code
max(nombre, Variable


En fait ceci va renvoyer un seul nombre, le plus grand des deux.
Donc ici :

Code
max(0,A-9 -> A


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 :

Code
min(nombre, Variable


Ca va renvoyer le plus petit des deux nombres.
Donc ici :

Code
min(10, A+10 -> A


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.
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Sam 16 Jui 2012, 19:21   Citer 

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
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Sam 16 Jui 2012, 23:02   Citer 

ben en fait... j'ai suivis vos conseils, mais sa marche pas cry.gif

----------------------
Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Sam 16 Jui 2012, 23:08   Citer 

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 cry.gif

----------------------
Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Sam 16 Jui 2012, 23:14   Citer 

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 happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
F-BVXT



Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
Posté le : Sam 16 Jui 2012, 23:26   Citer 

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.
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Dim 17 Jui 2012, 12:38   Citer 

et donc comment corriger ca?

----------------------
Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport
 Adresse email Haut de page Bas de page 
 
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   Citer 

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 ...
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 17 Jui 2012, 13:18   Citer 


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
 Adresse email Haut de page Bas de page 
 
F-BVXT



Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
Posté le : Dim 17 Jui 2012, 13:22   Citer 

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.
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 17 Jui 2012, 13:30   Citer 

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
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Dim 17 Jui 2012, 16:21   Citer 

bien ca ne marche toujours pas cry.gif
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
 Adresse email Haut de page Bas de page 
 
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   Citer 

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.
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 17 Jui 2012, 17:14   Citer 

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
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Dim 17 Jui 2012, 20:27   Citer 

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
 Adresse email Haut de page Bas de page 
 
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   Citer 

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
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Dim 17 Jui 2012, 20:31   Citer 

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
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Dim 17 Jui 2012, 20:35   Citer 

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
 Adresse email Haut de page Bas de page 
 
F-BVXT



Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
Posté le : Dim 17 Jui 2012, 22:15   Citer 

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.
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Dim 17 Jui 2012, 23:17   Citer 


Code
:max(0,A->A             
:min(48,A->A



Devient


Code
max(0,min(48,A -> A



----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Lun 18 Jui 2012, 1:30   Citer 

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( crazy.gif
En tout cas merci également à snap et à linkakro pour leur aide précieuse kiss.gif

----------------------
Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Lun 18 Jui 2012, 10:54   Citer 

Tout le plaisir était pour nous winkle.gif
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 happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur



Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
Posté le : Lun 18 Jui 2012, 18:00   Citer 

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
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes