[R] Mise a niveau des nombres aléatoire en temps réel
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
En fait je ne suis pas sur qu'il cherche a créer un outil pour tricher mais plutot un jeu.
Apres avoir bien réfléchi, j'ai l'impression qu'il crée un jeu de stratégie dans lequel il faut contruire des batiments et les améliorer (c'est le coup de l'amélioration de la forge qui me fait penser a ca).
Me gourre je ?
Si tel est le cas, je comprend mal l'interet du random, sauf si le but est de reproduire l'effet de lancer de dé comem dans le s jeux de role.
Mais tres franchement c'est assez pénible de devoir imaginer l'objectif de celui qui demande de l'aide. Une fonction se place dans l'ensemble d'un script/programme et on a un peu besoin d'en connaitre les tenants et aboutissants pour pouvoir passer du temps a apporter une aide, plutot qu'a éssaye de comprendre ce qui est demandé.
N'aurait il pas été plus simple de dire que tu voulais faire un jeu ou l'utilisateur pouvait lancer plusieurs améliorations (de batiments, de materiels, de sorts, peu importe) dont la durée était fixée par un random, et que tu voulais que pour chaque objet il y ait une barre de progression qui avance.
Car je suppose que c'est ca que tu cherches a faire ? Mon flair serait il encore tombé juste ?
Apres avoir bien réfléchi, j'ai l'impression qu'il crée un jeu de stratégie dans lequel il faut contruire des batiments et les améliorer (c'est le coup de l'amélioration de la forge qui me fait penser a ca).
Me gourre je ?
Si tel est le cas, je comprend mal l'interet du random, sauf si le but est de reproduire l'effet de lancer de dé comem dans le s jeux de role.
Mais tres franchement c'est assez pénible de devoir imaginer l'objectif de celui qui demande de l'aide. Une fonction se place dans l'ensemble d'un script/programme et on a un peu besoin d'en connaitre les tenants et aboutissants pour pouvoir passer du temps a apporter une aide, plutot qu'a éssaye de comprendre ce qui est demandé.
N'aurait il pas été plus simple de dire que tu voulais faire un jeu ou l'utilisateur pouvait lancer plusieurs améliorations (de batiments, de materiels, de sorts, peu importe) dont la durée était fixée par un random, et que tu voulais que pour chaque objet il y ait une barre de progression qui avance.
Car je suppose que c'est ca que tu cherches a faire ? Mon flair serait il encore tombé juste ?
Si vis pacem para bellum
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Ce qui est dit est vrai pour l'aspect association Autoit - bot mais là je ne pense vraiment pas qu'on soit dans le cas d'un développement de bot ...
Tout ce que j'ai vu c'est une inspiration issue des jeux mais de là à lever une barricade digne de Stuxnet (qui lui n'est pas écrit en Autoit) c'est peut êtreun peu beaucoups.
Maintenant pour la détection antiviral, c'est plus du fait que les malwares utilisent souvent UPX tout comme Autoit le fait; et que ce dernier se fait toper sur des faux positifs. J'ai eu un tas de cas où la simple recompilation en désactivant UPX à suffit à calmer le jeu.
Tout ce que j'ai vu c'est une inspiration issue des jeux mais de là à lever une barricade digne de Stuxnet (qui lui n'est pas écrit en Autoit) c'est peut êtreun peu beaucoups.
Maintenant pour la détection antiviral, c'est plus du fait que les malwares utilisent souvent UPX tout comme Autoit le fait; et que ce dernier se fait toper sur des faux positifs. J'ai eu un tas de cas où la simple recompilation en désactivant UPX à suffit à calmer le jeu.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
@shrek
Bah, tricher ou pas, c'est un point complètement secondaire.
Ceci dit, je plussoie fortement aux voix qui auraient préféré une question claire, car on n'y est pas encore.
@loockys
Comment poser une question ? version Potter
@Sylvanie
Oui je vois ton post et j'entends bien tout ça. Ce n'est pas une barricade, c'est juste la motivation de mon opinion. Quand je déterre la hache, ça saigne _vraiment_, pas là.
Bah, tricher ou pas, c'est un point complètement secondaire.
Ceci dit, je plussoie fortement aux voix qui auraient préféré une question claire, car on n'y est pas encore.
@loockys
Comment poser une question ? version Potter
@Sylvanie
Oui je vois ton post et j'entends bien tout ça. Ce n'est pas une barricade, c'est juste la motivation de mon opinion. Quand je déterre la hache, ça saigne _vraiment_, pas là.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..] Mise a niveau des nombres aléatoire en temps réel
tout a fait d'accord avec jchd.
maintenant, il faut expliquer le but du script et de l'arme que tu a cité.
sinon, le grand méchant Tlem va débarquer
après tout, si c'est pas un bot. ça dérange pas de se justifier non?
maintenant, il faut expliquer le but du script et de l'arme que tu a cité.
sinon, le grand méchant Tlem va débarquer
après tout, si c'est pas un bot. ça dérange pas de se justifier non?
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Pour le moment on a aucune raison de verrouiller tout ca, sinon ca aurait déja été fait.
De plus, personne n'est obligé de décrire son projet (d'autant plus que dans certain cas "légale" ils n'en ont pas la possibilité pour diverses raisons)
La seule chose demandé ici, est une explication plus claire de ce qui est voulu. Je suis le sujet depuis le début, et j'ai toujours pas compris :/ Mais il semblerait que sylvanie en tapant au hasard soit pas loin de la cible !
De plus, personne n'est obligé de décrire son projet (d'autant plus que dans certain cas "légale" ils n'en ont pas la possibilité pour diverses raisons)
La seule chose demandé ici, est une explication plus claire de ce qui est voulu. Je suis le sujet depuis le début, et j'ai toujours pas compris :/ Mais il semblerait que sylvanie en tapant au hasard soit pas loin de la cible !
Signez ici
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Autant la méfiance anti-bot est compréhensible, autant alors là franchement j'ai beau tourner le truc dans tous les sens je vois vraiment pas comment un script qui incrémente une valeur de façon aléatoire pourrait servir à tricher 
Faut pas tétaniser sur "arme" vu que dans la msgbox il y a "forgeron" ... ça ressemble beaucoup plus à un petit soft inoffensif de suivi de RPG personnel
Du genre une table, des joueurs, une carte avec des personnages, et on clique au lieu de lancer les dés... le bon vieux RPG à l'ancienne quoi

Faut pas tétaniser sur "arme" vu que dans la msgbox il y a "forgeron" ... ça ressemble beaucoup plus à un petit soft inoffensif de suivi de RPG personnel
Du genre une table, des joueurs, une carte avec des personnages, et on clique au lieu de lancer les dés... le bon vieux RPG à l'ancienne quoi
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Oui pourquoi pas "merci Nikell"mikell a écrit :@loockys
Si c'est pour du divertissement je suppose qu'une msgbox personnalisée peut vous intéresser...
Mais pas pour le moment je me suis concentré sur les nombres aléatoires et la synchronisation de la msgbox et la progressbar.
J'aurais une dernière question à vous poser :
J'aimerais donner une limite à un nombre dans la variable $Resultat, c'est-à-dire que je ne veux pas qu'elle dépasse au-delà de 10 et en dessous de 0.
► Afficher le texte
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
C'est tout à fait faisable
Il suffit de faire en sorte que la variable ne puisse pas être négative ou supérieure à 10
Il suffit de faire en sorte que la variable ne puisse pas être négative ou supérieure à 10
Modifié en dernier par mikell le dim. 20 nov. 2011 12:47, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Tu sais pas utiliser la commande if... then... else... endif ?loockys a écrit :J'aimerais donner une limite à un nombre dans la variable $Resultat, c'est-à-dire que je ne veux pas qu'elle dépasse au-delà de 10 et en dessous de 0.
Si vis pacem para bellum
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Je ne crois pas au compte de fée.jchd a écrit :@loockys
Comment poser une question ? version Potter
Okmikell a écrit :C'est tout à fait faisable
Il suffit de faire en sorte que la variable ne puisse pas être négative ou supérieure à 10
Sur mon programme j'en utilise et je suis allé voir sur le forum sur ses fonctions que vous citez icizeshrek a écrit :Tu sais pas utiliser la commande if... then... else... endif ?
Je ne dois pas tout connaitre sur ses conditions, avez-vous une autre suggestion qui pourrait m'aider davantage.
d'avance merci
Je vais re formuler ma question car, j' impression d'être encore mal compris.
Imaginons que le résultat soit 9 et qu'il me donne une réussite de +3 qui fait ( 9+3 =12) au lieu de cela que le script affiche le résultat 12, je voudrais qu'il affiche le résultat 10 car, le résultat du script a été limité au delà de 10.
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Là ce n'est plus une question Autoit mais d’algorithmie pure :
Version Autoit
Conseil : puisque vous allez faire ceci souvent d'après le code, pensez à concentrer cette routine dans une fonction
2eme conseil : vous puvez synthétiser encore plus grâce à la fonction Mod :
Code : Tout sélectionner
var1 := var1 + var2
si var1 > 10 alors var1:=10
Version Autoit
Code : Tout sélectionner
$Resultat += $ch1
if ($Resultat > 10) Then $Resultat=10
2eme conseil : vous puvez synthétiser encore plus grâce à la fonction Mod :
Code : Tout sélectionner
$Resultat=Mod($Redultat+$ch1,10)
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
Nada, tu confonds Mod(x, y) et Min(x, y)sylvanie a écrit : 2eme conseil : vous puvez synthétiser encore plus grâce à la fonction Mod :Code : Tout sélectionner
$Resultat=Mod($Redultat+$ch1,10)
Mod(13, 10) = 3
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
@sylvanies'il fait ça, au vu de son script il aura des misères avec sa msgbox, donc vaudrait mieux agir directement sur la variable qui incrémente
Le lien donné par jchd sur "comment poser une question" est excellent et mériterait de figurer dans les règlements du forum
Il faut vraiment avoir un gros balai là où je pense pour le dénigrer sans même prendre le temps d'aller y voir
Code : Tout sélectionner
if ($Resultat > 10) Then $Resultat=10Code : Tout sélectionner
If ($ch3 = 1) Then
If $Resultat +$ch1>10 Then $ch1=10 - $Resultat
$Resultat += $ch1
If $Resultat>=10 Then
MsgBox(0,"Forgeron","Maximum atteint"&@CRLF)
Else
MsgBox(0,"Forgeron","Félicitation + " & $ch1&@CRLF)
EndIf
GUICtrlSetData($Label2, $Resultat)Il faut vraiment avoir un gros balai là où je pense pour le dénigrer sans même prendre le temps d'aller y voir
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
yep, je n'ai pas tapé ceux à quoi je pensais ...jchd a écrit :Nada, tu confonds Mod(x, y) et Min(x, y)sylvanie a écrit : 2eme conseil : vous puvez synthétiser encore plus grâce à la fonction Mod :Code : Tout sélectionner
$Resultat=Mod($Redultat+$ch1,10)
Mod(13, 10) = 3
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Mise a niveau des nombres aléatoire en temps réel
S'il fallait taper tous ceux qui ...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [R] Mise a niveau des nombres aléatoire en temps réel
Merci Sylvanie, mikell, Zeshrek, Jchd, Iste, Legend, d'avoir fait avancer mon poste et aussi évoluer mon apprentissage.
Je vais en arrêter là au sujet du Script et mettre résolu.
Encore un grand merci à vous.
Je vais en arrêter là au sujet du Script et mettre résolu.
Encore un grand merci à vous.
► Afficher le texte
Modifié en dernier par loockys le mar. 22 nov. 2011 23:38, modifié 1 fois.
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Mise a niveau des nombres aléatoire en temps réel
Bonsoir,
V'Z'avez oublié la balise de code dans le spoiler.
Merci
V'Z'avez oublié la balise de code dans le spoiler.
Merci
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [R] Mise a niveau des nombres aléatoire en temps réel
Si je puis me permettre qq commentaires
- Les vriables $ch1/2/3 ne sont pas parlante du tout. là sur un truc de moins de 100 lignes, ca peut passer, mais il vaut mieux prendrel'habitude de mettre des noms parlants. Un petit script tout bete de 2-300 lignes a vite fait de montr à 1000, 2000... 10000 lignes.
- Les lignes 49 et 54 sont inutiles
- La ligne 64 aussi (et du coup là 70) car $ch3 ne peut avoir comme vleur que 1 ou 2 or en 56 tu teste déjà si elle vaut 1 donc le else ne peut etre que 2
- La fonction Progressbar aussi, vu qu'elle n'est pas appelée
- Le 'score' ne change pas a chaque lancé ($label2)
- Si jamais il changeait, on aurait un pb de signe (+/-) sachant que le "+" est dans $label1
- Si jamais il devait y avoir d'autres batiments que la forge, tel que c'est fichu, on ne peut en metre a jour qu'un seul a la fois
... etc
- Les vriables $ch1/2/3 ne sont pas parlante du tout. là sur un truc de moins de 100 lignes, ca peut passer, mais il vaut mieux prendrel'habitude de mettre des noms parlants. Un petit script tout bete de 2-300 lignes a vite fait de montr à 1000, 2000... 10000 lignes.
- Les lignes 49 et 54 sont inutiles
- La ligne 64 aussi (et du coup là 70) car $ch3 ne peut avoir comme vleur que 1 ou 2 or en 56 tu teste déjà si elle vaut 1 donc le else ne peut etre que 2
- La fonction Progressbar aussi, vu qu'elle n'est pas appelée
- Le 'score' ne change pas a chaque lancé ($label2)
- Si jamais il changeait, on aurait un pb de signe (+/-) sachant que le "+" est dans $label1
- Si jamais il devait y avoir d'autres batiments que la forge, tel que c'est fichu, on ne peut en metre a jour qu'un seul a la fois
... etc
Si vis pacem para bellum


